2009-02-26 85 views
2

我的客戶有一個PHP Web服務,他們希望我使用。 這是基於PHP的,而我的網絡是基於ASP的。可以用ASP調用PHP soap嗎?

的ASP代碼如下所示:

Dim soapclient 

WSDL_URL = "http://xxx.xxxx.xx/index.php?Action=service" 

set soapclient = Server.CreateObject("MSSOAP.SoapClient30") 

soapclient.ClientProperty("ServerHTTPRequest") = True 

旁邊錯誤恢復

soapclient.mssoapinit WSDL_URL「這裏的錯誤

是ASP可以調用一個基於PHP-肥皂服務?

我應該調整什麼?

非常感謝!

+0

你會得到什麼錯誤? – jammus 2009-02-26 10:09:04

回答

1

我們找到一個解決這個問題的方法,不是使用「MSSOAP.SoapClient30」來詢問web服務,而是使用「Msxml2.ServerXMLHTTP.4.0」。

樣品這樣的代碼:

URL = 「http://xxx.xxx.xx/xxx.php

SoapRequest = 「< XML版本=?」 & CHR(34)& 「1.0」 & CHR(34)& 「編碼=」 & CHR(34)& 「UTF-8」 & CHR(34)& 「>?」 「<皁:信封的xmlns:的xsi =」 & CHR(34)& 「http://www.w3.org/2001/XMLSchema-instance」 & CHR(34)& 「的xmlns:XSD =」 & CHR(34)& 「http://www.w3.org/2001/XMLSchema」 & CHR(34)& 「的xmlns:SOAP =」 & CHR(34)& 「http://schemas.xmlsoap.org/soap/envelope/」 & CHR(34 )& 「> <皁:車身> <的GetList > < /的GetList > < /皁:身體> < /皁:信封>」

集XMLHTTP = server.Create對象(「Msxml2.ServerXMLHTTP.4.0」)

xmlhttp。打開 「POST」,URL,假

xmlhttp.setRequestHeader 「內容類型」, 「文本/ XML;字符集= UTF-8」

xmlhttp.setRequestHeader 「內容長度」,LEN(SoapRequest)

xmlhttp.Send(SoapRequest)

的Response.Write xmlhttp.responseText

設置XMLHTTP =沒什麼

1

我不知道ASP,我知道PHP,但您應該沒有問題從任何其他語言訪問PHP Web服務,只是因爲通信格式是XML。這兩個應用程序都將使用第三種中介語言進行通信:XML。一切都應該沒問題。

+0

XML是好的。但是調用就像 $ ret = $ client - > __ soapCall(「getList」,array()); ASP soapclient.mssoapinit WSDL_URL,「getList」 會出錯 – March 2009-02-26 10:15:02

7

Web服務和SOAP的重點在於它並不重要服務實現的語言以及它運行的是什麼硬件和操作系統。

Web服務中存在一個錯誤,或者更可能是您以錯誤的方式調用它。

0

對於初學者來說,你應該刪除「上錯誤繼續下一個',這樣你就可以看到(併發布)你遇到的錯誤。