【问题标题】:consuming SOAP web services in classic ASP在经典 ASP 中使用 SOAP Web 服务
【发布时间】:2009-07-03 13:26:16
【问题描述】:

我对此代码有疑问:

Set oXmlHTTP = CreateObject("Microsoft.XMLHTTP")
oXmlHTTP.Open "POST", "http://www.oursite.com/WebServices/ourService.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/"">" &_
        "<var1>" & Session("userid") & "</var1>" &_
        "<var2>" & Session("internetid") & "</var2>" &_
      "</ourFunction>" &_
    "</soap12:Body>" &_
  "</soap12:Envelope>"

oXmlHTTP.send SOAPRequest

它执行并且没有给出错误,但我找不到任何输出,或者即使它存在我也无法解析它 - 但在这两种情况下我都不知道它。

调用后,我应该如何解析返回的 XML?

【问题讨论】:

    标签: web-services soap asp-classic


    【解决方案1】:

    你错过了:

    Set xmlResp = oXmlHTTP.responseXML
    

    这使您可以访问 Msxml2.DOMDocument 对象。 您如何从中获取数据实际上取决于您的肥皂响应的格式。

    它应该看起来像这样:

    <%    Set nodes = xmlResp.getElementsByTagName("returnVal") %>
    <ul>
    <%    For Each node in nodes    %> 
       <li><%=node.text%></li>
    <%    Next    %>
    </ul>
    

    另见:

    【讨论】:

    • 你能告诉我如何解析我的意思是我已经完成了解析,但是在分配这个之后我无法从中得到任何东西。你能详细说明一下吗
    • @chris 亲爱的我将使用的网络服务buergerserviceschul.niedersachsen.de/modules/id/public/… 你的代码是完美的,如果我使用 xml 返回没有问题(由我在文本文件或字符串中硬编码)但是一旦我实时调用网络服务,它只给我一个空白页面,我不知道它是否是我的服务,或者我不知道你还能查看什么,所以感谢你的支持
    【解决方案2】:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多