【问题标题】:How to pass parameters to soap in classic asp如何在经典asp中将参数传递给soap
【发布时间】:2010-09-21 17:48:18
【问题描述】:

我需要从我的经典 ASP 网站调用 Web 服务。 SOAP 提供者向我提供了一个 URL 和三个变量:

网络服务网址:http://www.theirwebsite.co.uk/B2bservice.asmx 参数1:客户ID 参数2:PWord 参数3:订单号

所以我应该从我的经典 ASP 网站发送这个 SOAP 请求,连同参数值(我也得到了),它应该返回一个字符串。

我已经使用 soapclient.com 测试了 SOAP 响应,果然,如果我输入 Web 服务 URL 并添加参数值,它会返回一个字符串,就像它应该的那样。

问题是我只是找不到如何使用经典 ASP 来做到这一点!我发现了许多从经典 ASP 调用 SOAP URL 的示例,但没有一个提到如何传递参数。

谁能告诉我一个尽可能简单的实现,说明如何在 ASP 中从这个 Web 服务获取返回字符串,并传入参数?

非常感谢您的任何帮助。

【问题讨论】:

  • 不传参数怎么调用服务?

标签: soap asp-classic parameters


【解决方案1】:

Dan,你必须为 POST 更改 GET

【讨论】:

    【解决方案2】:

    我对经典 ASP 了解不多,也不知道它是否有 SOAP 客户端实现,但如果经典 ASP 允许您发送带有任意正文和任意 HTTP 标头的 HTTP POST,那么应该可以做你想做的事(以一种有点老套的方式)。

    只需使用硬编码的整个 SOAP 消息发出 POST 请求,参数除外。确保正确获取 Content-Type 和 SOAPAction 标头。

    如果您不知道如何正确创建有效的 SOAP 消息并正确设置标头,请使用 http://web.progress.com/en/actional/actional-diagnostics.html 之类的工具发送测试消息,然后使用 Fiddler 之类的工具查看实际发送,然后将其硬编码到您的应用中。

    【讨论】:

    • 谢谢,在经典 ASP 中显然有一种方法可以做到这一点,但它似乎不起作用: webservice.co.uk/B2bservice.asmx?wsdl" set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP ") xmlhttp.open "GET", url, false xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" xmlhttp.send "Ccode=MyCode&Pword=MyPassword&OrderNo=1234" Response.write xmlhttp.responseText设置 xmlhttp = 没有 %>
    猜你喜欢
    • 2010-11-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多