【发布时间】:2010-10-11 10:05:09
【问题描述】:
我的任务是使用经典的 asp 从 SOAP 请求中获取响应。该请求几乎是最基本的——我只需将 3 个参数触发到 Web 服务 URL 并写出响应(采用简单的纯文本格式)。我已经使用几个 SOAP 测试实用程序检查了该服务,它输出的响应很好。
我还阅读了大约 10 个关于在经典 ASP 中使用 SOAP 提要的不同教程,但它们似乎都不起作用。
我正在尝试的最新版本给了我以下代码:
<%
Set oXmlHTTP = CreateObject("Microsoft.XMLHTTP")
oXmlHTTP.Open "POST", "http://www.webservicehost.co.uk/B2bservice.asmx?wsdl", False
oXmlHTTP.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
oXmlHTTP.setRequestHeader "SOAPAction", "http://ourNameSpace/ourFunction"
SOAPRequest = _
"<?xml version=""1.0"" encoding=""utf-8""?>" &_
"<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" &_
"<soap12:Body>" &_
"<ourFunction xmlns=""http://ourNameSpace/"">" &_
"<Ccode>OurCode</Ccode>" &_
"<Pword>1d2s45a</Pword>" &_
"<OrderNo>9876</OrderNo>" &_
"</ourFunction>" &_
"</soap12:Body>" &_
"</soap12:Envelope>"
oXmlHTTP.send SOAPRequest
response.write oXmlHTTP.responseText
%>
我拥有 POST URL、Ccode、Pword 和 OrderNo 变量的所有正确值,但不知道要为“SoapAction”或值使用什么。结果,当我运行该页面时,我得到了一个错误:
soap:Sender 无法处理没有有效操作参数的请求。请提供有效的肥皂动作。
谁能建议对 SoapAction 和 ourFunction xmlns 值使用什么?
非常感谢您的任何指点...
【问题讨论】:
-
为什么在 URL 上使用
?wsdl?那只知道做什么做什么,服务只有http://www.webservicehost.co.uk/B2bservice.asmx
标签: soap asp-classic