c#
  • .net
  • soap
  • 2010-09-30 47 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類外。這樣,你不必自己創建一條消息。

    相關問題