c#
  • .net
  • soap
  • 2010-09-30 58 views 0 likes 
    0

    这甚至有效吗?有没有更好的方式在C#中形成肥皂请求?

    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>"; 
    

    我刚刚从Web服务返回一个未定义的错误...

    +7

    有没有更糟糕的方式可能是一个更好的问题... – 2010-09-30 11:36:42

    +0

    您是否使用Visual Studio? – Lazarus 2010-09-30 11:39:05

    +0

    @Greg山毛榉 - 即使我必须upvote that ..对不起,我不是一个.NET本地人 - 但我知道这不好... ... – tpow 2010-09-30 13:32:08

    回答

    5

    通过字符串操作来编写XML会给你带来麻烦。什么是登录和密码包含以下任何字符:åäö<> &?使用XmlDocument或类似的代替。

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

    2

    你可以使用SoapClient类外。这样,你不必自己创建一条消息。

     相关问题

    • 暂无相关问题^_^