我會開始說我不知道我試圖做什麼。我的PHP技能是-beginner,而我對webservices的使用經驗是NULL。從PHP中的WSDL webservice檢索數據
我有一個WSDL URL http://example.com/ws/3.1/NNE?WSDL。我想從PHP腳本中調用searchTargetGroup方法,這樣我就可以遍歷答案並將數據保存到我的數據庫。
Anywho,我不知道如何創建來自PHP的調用。 :-( 我看了NuSOAP的PHP和內置的SoapClient,但沒有運氣。我認爲問題是,我試圖調用一個複雜的方法,但沒有完全理解什麼青蛙我搞亂周圍。
所以我用了SoapUI檢索定義文件並創建一個請求,這完美的作品,我讓所有我想要的信息。問題是,我有不知道我應該怎麼做一個PHP文件創建與SoapUI完全相同的請求(從而得到正確答案)
XML請求SoapUI爲我生成的代碼如下所示:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nne="http://example.com/ws/NNE">
<soapenv:Header/>
<soapenv:Body>
<nne:searchTargetGroup soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<QuestionTargetGroup_1 xsi:type="nne:QuestionTargetGroup" xmlns:nne="http://example.com/ws/NNE">
<companyFormCodeList xsi:type="xsd:string">10,60,80</companyFormCodeList>
<companyStatus xsi:type="xsd:string">0</companyStatus>
<hasPhoneOnly xsi:type="xsd:boolean">true</hasPhoneOnly>
</QuestionTargetGroup_1>
<int_2 xsi:type="xsd:int">500</int_2>
<int_3 xsi:type="xsd:int">1</int_3>
<int_4 xsi:type="xsd:int">1</int_4>
<String_5 xsi:type="xsd:string">passstring</String_5>
</nne:searchTargetGroup>
</soapenv:Body>
</soapenv:Envelope>
任何人都可以在某個方向幫助我嗎?最好是正確的。 :-)
我知道你不能測試的URL,因爲它的IP保護,但我真的只想知道如何從PHP文件/函數進行上述調用。
其實我試過這個較早,但它返回一個致命的錯誤:「未捕獲的SOAPFault異常:[客戶] SOAP的錯誤:編碼:對象不是招」 t'區「財產」。 WSDL服務的所有者告訴我,我應該忽略我沒有問過的字段,例如「區域」字段。我只是嘗試了調用中定義的所有字段,對於那些我不想問的人來說只是空的,現在它可以工作。一雙清新的眼睛正是我所需要的。謝謝Raffael :) – kasperwf