可以用ASP来调用PHP soap吗?

时间:2009-02-26 10:04:34

标签: php web-services soap asp-classic

我的客户有一个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服务?

我应该调整什么?

非常感谢!

4 个答案:

答案 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',这样你就可以看到(并发布)你得到的错误。