2012-11-14 73 views
0

我用SOAP UI來測試我的實現,它在那裏工作。但是,我不知道如何在沒有SOAP UI的情況下在php環境中執行此操作。如何將XML發送到SOAP Web服務?

我目前有PHP代碼從MySQL數據庫中提取數據並輸出格式良好的XML,但我不知道如何將此XML輸出發送到要處理的Web服務。

任何幫助將是偉大的。

謝謝

+0

如果你想直接發送SOAP信封XML,你可以到捲曲post請求,並將原始數據後設置爲你的XML。 – MrCode

回答

1

您不必創建自己的SOAP XML。有一個非常好的SOAP擴展可用,您可以使用服務WSDL文件創建SoapClient。

http://ch1.php.net/soap

如果真的是隻有發送數據,使用curl

配置例子:How can I send SOAP XML via Curl and PHP?

+0

跳過WSDL是不好的做法嗎?我已經有了創建XML的代碼,並且它通過SOAP UI完美工作。另一方面,我會用$ xml = new SoapVar($ xml_string,XSD_ANYXML); $ xml_string是我輸出的XML代碼? – rawrzors

+0

我認爲這不好。當服務發生變化時(新方法,新參數等),你只能調整代碼。在使用wsdl時,您只需使用新功能,但實際上並不需要更改要生成的xml。 如果只是發送數據,請使用[curl](http://ch1.php.net/curl)。 配置示例:http://stackoverflow.com/questions/3006977/how-can-i-send-soap-xml-via-curl-and-php –

+0

捲曲看起來很有趣。 CURLOPT_POSTFIELDS應該是除了安全頭之外的之間的所有內容,它將位於CURLOPT_HTTPHEADER中? – rawrzors