代码之家  ›  专栏  ›  技术社区  ›  tpow

在C#中是否有更好的方法形成soap请求?

  •  0
  • tpow  · 技术社区  · 14 年前

    这是有效的吗?

      XmlDocument doc = new XmlDocument();
         doc.InnerXml = @"<?xml version='1.0' encoding='utf-8'?><soap:Envelope
                     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
                     <soap:Body><Authenticate xmlns='https://na.ntrsupport.com'>
                     <IdOwner>99999</IdOwner>
                     <Login>MyLogin</Login>" +
                     "<Pwd>myPass</Pwd>" +
                     "<PwdInterfaces>interfacePass</PwdInterfaces>" +
                     "<Platform>domain</Platform>" +
                     "<H>" + getMd5EncodedHash(NtrHash) + "</H>" + 
                     "</Authenticate></soap:Body></soap:Envelope>";
    

    我刚刚收到一个未定义的错误从网络服务返回。。。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Andreas Paulsson    14 年前

    通过字符串操作创建XML会给您带来麻烦。什么是登录och Pwd?包含以下任何字符:·<>&?请改用XmlDocument或类似工具。

    您可以访问web服务的WSDL吗?如果是这样,请使用VisualStudio中的“添加服务引用”为您的web服务创建类型化代理。

        2
  •  2
  •   Sjoerd    14 年前

    您可以使用SoapClient类。这样,您就不必自己创建消息。