在SOAP UI中,我能夠傳遞一些請求屬性,具體爲Username
,Password
和WSS-Password Type
。如何在PHP中傳遞SOAP請求屬性(如SoapUI所示)
我試圖在PHP中傳遞這些值作爲SoapClient的功能,像這樣的第二個參數:
$soap = new SoapClient('https://rev-int.api.us.fleetmatics.com/Vehicle/SageQuest/VehicleService.svc?wsdl',
array("Username" => "[email protected]",
"Password" => "notarealpassword",
"WSS-Password Type" => "PasswordText"));
但我他們是由一個紅色框標註在下面的屏幕截圖獲得安全錯誤:An error occurred when verifying security for the message.
我打電話本身的WSDL在這裏,雖然我的問題是關於請求傳遞性能一般這種方式,真正的ly:https://rev-int.api.us.fleetmatics.com/Vehicle/SageQuest/VehicleService.svc?wsdl
負。沒有任何字符串通過標題中的任何地方顯而易見。會議ID是,我懷疑是來自WSS可能是這裏描述http://php.net/manual/en/soapclient.soapclient.php#97273,但我仍然不知道如何實現解決方案,因爲我所有的嘗試都失敗了。 – Bing
如果有會話ID但沒有用戶名/密碼,那麼我認爲它不是與您正在查看的服務器的初始通信。我相信,之前有一個用戶名和密碼被髮送到服務器的地方。 我熟悉你鏈接到的頁面,並且信息沒問題,儘管在我看來,當你知道xml代碼時,可以做得更簡單:'$ xml =從SoapUI安全頭部的副本; $ securityToken =新的SoapVar($ xml,XSD_ANYXML); $ header = new SoapHeader($ nsWSSE,'Security',$ securityToken); $ client - > __ setSoapHeaders($ header)' –
你從哪裏得到SoapUI的Security頭文件?我的標題部分是完全空白的(正如你可以在我作爲'Headers(0)'附加的圖像中看到的那樣,只是在1749ms的響應時間之上)。 – Bing