2009-02-26 84 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

对于初学者来说,你应该删除“上错误继续下一个',这样你就可以看到(并发布)你遇到的错误。

相关问题