我是一名經驗豐富的PHP程序員,但實際上我對SOAP沒有任何線索。現在我必須使用它,因爲我的客戶需要自動生成DHL批次標籤。我需要一些簡單而有效的幫助。php soap空輸出
所以我送一個原始的XML請求,DHL,我從他們的樣本複製PROGRAMM消息,但我總是得到一個空的結果(沒有錯誤)。我的PHP代碼是這樣:
require_once('nusoap/lib/nusoap.php'); $endpoint = "https://test-intraship.dhl.com/intraship.57/jsp/Login_WS.jsp"; $client = new nusoap_client($endpoint, false); $msg = $client->serializeEnvelope(" <soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:cis=\"http://dhl.de/webservice/cisbase\" xmlns:de=\"http://de.ws.intraship\"> <soap:Header> <cis:Authentification><cis:user>bzalewski</cis:user> (...) "); $result=$client->send($msg, $endpoint); echo $result;
至於說,該消息只是複製所以它必須是確定。 我試着另一個端點:http://test-intraship.dhl.com/ws/1_0/ISService/DE.wsdl,但也沒有結果(沒有錯誤)。
請幫助。
你需要使用的NuSOAP?如果不是的話,如果你使用的是PHP 5,請嘗試使用PHP內置的soap函數(soap_client)..它有更好的錯誤報告,並且比nusoap更適合PHP 4 .. – raidenace
@Raidenace:我該如何用PHP5發送一個原始的XML?我試過了,但它不起作用,因爲我不知道,我應該寫爲「位置」和「URI」。在我的問題中,你可以看到這兩個地址是什麼。但是命名空間呢? DHL文檔非常糟糕。 –
我已經添加了一個針對您發佈的WDL的示例工作代碼的答案。檢查出來..希望它有幫助! – raidenace