[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="T無法載入 WSDL



后面的代码:

   <?xml version="1.0" encoding="utf-8"?>
   <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
   <mx:WebService id="DirectoryService" 
        useProxy="false"  
        wsdl="http://cmuicds.rutgers.edu/uicds/core/ws/services/DirectoryService?wsdl"> 
    <mx:operation name="GetIncidentList"                
        makeObjectsBindable="true" 
        resultFormat="object" 
        result="onResult(event)" 
        fault="onFault(event)"/>
   </mx:WebService>
    <mx:ApplicationControlBar dock="true">
    <mx:Button id="button"
            label="Get incidents from web service"
            click="button_click()"/>
       <mx:ComboBox id="cmb" dataProvider="{incedents}" labelField="name" width="241" height="24"/>
       <mx:TextArea id="textArea" x="10" y="40" width="616" height="61"/>
    </mx:ApplicationControlBar>
   <mx:Script>
       <![CDATA[
        import mx.controls.Alert;
        import flash.utils.ByteArray;
        import mx.rpc.events.ResultEvent;
        import mx.rpc.events.FaultEvent;
        import mx.utils.ObjectUtil;
        import mx.collections.ArrayCollection;
        import mx.rpc.soap.mxml.WebService;
        [Bindable] private var incedents:ArrayCollection;
        private var flag:Boolean;
        //[Bindable] private var arr:Array = new Array("http://uicds.org/DirectoryService", "GetIncidentListRequest");
        //private var byte:ByteArray;
        private function button_click():void 
        {
            //DirectoryService.GetIncidentList("http://uicds.org/DirectoryService", "GetIncidentListRequest").send();
            //DirectoryService.port = 443;
            DirectoryService.endpointURI = "https://cmuicds.rutgers.edu:443/uicds/core/ws/services/DirectoryServiceService";
            DirectoryService.GetIncidentList("GetIncidentListRequest");
            flag = DirectoryService.canLoadWSDL();
            Alert.show("Testing....." + flag); 
        } 
         private function onResult(evt:ResultEvent):void 
         {
            incedents = evt.result as ArrayCollection;
            Alert.show("Is data comming in? " + incedents);
            textArea.text = ObjectUtil.toString(evt.result);
        }
         private function onFault(evt:FaultEvent):void 
         {
            Alert.show(evt.fault.faultString);                
         }
       ]]>
   </mx:Script>
</mx:Application>

当我运行它时,它给了我以下错误:[RPC故障]faultString="HTTP请求错误" faultCode="Server.Error. "请求" faultDetail="无法加载WSDL。如果当前在线,请验证WSDL的URI和/或格式(http://cmuicds.rutgers.edu/uicds/core/ws/services/DirectoryService?wsdl)"]

当我在浏览器中输入url "http://cmuicds.rutgers.edu/uicds/core/ws/services/DirectoryService?wsdl"时,HTTP GET响应提示输入用户名和密码。

mx:WebService使用的HTTP POST也可能面临同样的障碍。我认为您需要解决这个认证问题。

最新更新