終於嘗試幾個小時後,我能夠與telnet
調用SOAP服務如下
首先打開一個TCP連接到下面的遠程服務器。
$> telnet hostname portname
一旦被連接,幀請求作爲對以下方法中的一種並粘貼在屏幕上,並按下enter key
兩次。
有兩種方法可以調用服務。
方法1:代替POST
頭提終點的路徑,我們可以給它SOAPAction
頭。
POST/HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "<endpoint URL from WSDL>"
Content-Length: <number of bytes you are sending in body section>
Host: <hostname>:<port>
Proxy-Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<SOAP Request payload>
方法2:提的是在請求報頭本身的端點的路徑,所以我們可以給在「」 SOAPAction頭空值(這意味着請求路徑本身是端點路徑)。
POST /soap/server HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Content-Length: <payload size>
Host: hostname:port
Proxy-Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<SOAP Request payload>
響應:一旦呼叫成功調用,響應將被打印如下
HTTP/1.1 200 OK
Content-Type: text/xml;charset=UTF-8
Content-Length: <response payload size>
<SOAP response payload>
欲瞭解更多有關的SOAPHeader check this link
注:確保長度請求有效載荷在發送前是正確的。
感謝您使用解決方案返回!你今天讓互聯網更聰明一點:) –