我正在嘗試連接到受密碼保護且URL為https的Web服務。在腳本發(fā)出請求之前,我不知道如何進行身份驗證。似乎在我定義服務后便發(fā)出了請求。例如,如果我輸入:$client = new SoapClient("https://example.com/WSDL/nameofservice", array('trace' => 1,));然后轉到瀏覽器上的站點,我得到:Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from'https://example.com/WSDL/nameofservice' in /path/to/my/script/myscript.php:2 Stack trace: #0 /path/to/my/script/myscript.php(2): SoapClient->SoapClient('https://example...', Array) #1 {main} thrown in /path/to/my/script/myscript.php on line 2如果嘗試將服務定義為Soap Server,例如:$server= new SoapServer("https://example.com/WSDL/nameofservice");我得到:<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>WSDL</faultcode><faultstring>SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://example.com/WSDL/nameofservice'</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>我還沒有嘗試發(fā)送原始請求信封來查看服務器返回的內容,但這可能是一種解決方法。但是我希望有人能告訴我如何使用php內置類進行設置。我嘗試將“ userName”和“ password”添加到數組,但這不好。問題是我什至無法告訴我是否要到達遠程站點,更不用說它是否拒絕了請求。
使用PHP連接到受WS-Security保護的Web服務
慕運維8079593
2019-10-17 12:56:02