我的客户有一个PHP Web服务,他们希望我使用它。 它是基于PHP的,而我的 web 是基于ASP的。
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的soap服务?
或
我应该调整什么?
非常感谢!
答案 0 :(得分:7)
Web服务和SOAP的重点在于无关紧要服务实现的语言以及运行的硬件和操作系统。
网络服务中存在错误或(更有可能)您以错误的方式调用它。
答案 1 :(得分:1)
我不懂ASP,我知道PHP,但你应该没有问题从任何其他语言访问PHP Web服务,只是因为通信格式是XML。两个应用程序都将使用第三种中间语言进行通信:XML。一切都应该没问题。
答案 2 :(得分:1)
我们发现解决这个问题的方法不是使用“MSSOAP.SoapClient30”来询问Web服务,而是“Msxml2.ServerXMLHTTP.4.0”。
示例代码如下:
url =“http://xxx.xxx.xx/xxx.php”
SoapRequest =“<?xml version =”& CHR(34)&“1.0”& CHR(34)&“encoding =”& CHR(34)&“utf-8”& ; CHR(34)及 “>?” “< soap:Envelope xmlns:xsi =”& CHR(34)&“http://www.w3.org/2001/XMLSchema-instance”& CHR(34)&“xmlns:xsd =”& CHR(34)&“{ {3}}“& CHR(34)&”xmlns:soap =“& CHR(34)&”http://www.w3.org/2001/XMLSchema“& CHR(34)&”>< soap:Body&gt ;<&的GetList GT;< /&的GetList GT;< /皂:身体与GT;< /皂:信封>“中
设置xmlhttp = server.CreateObject(“Msxml2.ServerXMLHTTP.4.0”)
xmlhttp.Open“POST”,url,false
xmlhttp.setRequestHeader“Content-Type”,“text / xml; charset = utf-8”
xmlhttp.setRequestHeader“Content-Length”,LEN(SoapRequest)
xmlhttp.Send(SoapRequest)
Response.Write xmlhttp.responseText
设置xmlhttp = Nothing
答案 3 :(得分:0)
对于初学者,你应该删除'on next error next',这样你就可以看到(并发布)你得到的错误。