2017-04-21 14 views
1

RestSharpを使用して、単純なSOAPサービス自動化プロジェクトをリクエストしています。 XDocument経由でxmlを読み込みますが、request.AddBodyでは使用できません。Restsharp - XDocumentをオブジェクトに変換する

エラー:「System.InvalidOperationException」種類の例外がRestSharpXML.dllで発生したが、ユーザーコードで処理されなかった

public class SOAPSharp 

{ 
     XDocument currencyXML = XDocument.Load(@"../../Data/currencyXML.xml"); 

     [Test] 
     public void xmlRequest() { 

      try 
      { 
       var client = new RestClient(); 

       var request = new RestRequest("http://www.webservicex.net/periodictable.asmx?WSDL", Method.POST); 
       request.XmlSerializer = new RestSharp.Serializers.DotNetXmlSerializer(); 
       request.RequestFormat = DataFormat.Xml; 
       request.AddHeader("Content-Type", "application/xml; charset=utf-8"); 
       // request.AddBody(ParameterType.RequestBody); 
       request.AddBody(currencyXML); 

       var response = client.Execute(request); 
      } 

      catch (Exception) 
      { 
       throw; 
      } 

     } 
    } 

答えて

1

あなたの問題はXDocumentIXmlSerializableを実装していないということです。

request.AddBody(currencyXML.Root); 

それとも、ただで開始するXElementとして、それをロードします:そのは明らかに動作しますが、@dbc

var currencyXML = XElement.Load(@"../../Data/currencyXML.xml"); 
+0

おかげ代わりに、IXmlSerializableを実装しないルートXElementを使用 –

関連する問題