2011-07-05 19 views
0

SOAPサービスがXMLを受信し、HTTPサービスに送信する前にsoap enevelopeをxmlに追加する必要があります。 行でエラーが発生します。httpDocumet.DocumentElement.AppendChild(xml.DocumentElement);2つのXMlDocumentを追加するC#

どのように私はxmlに石鹸のヘッダーを追加できますか?

[WebMethod] 
    public XmlDocument HelloWorld(XmlDocument xml) 
    { 

     XmlDocument httpDocumet = new XmlDocument(); 
     XmlElement soapEnvelope = httpDocumet.CreateElement("soap", "Header", "http://schemas.xmlsoap.org/soap/envelope/"); 
     soapEnvelope.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
     soapEnvelope.SetAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); 
     httpDocumet.AppendChild(soapEnvelope); 
     XmlElement soapBody =httpDocumet.CreateElement("soap", "Body", "http://schemas.xmlsoap.org/soap/envelope/"); 
     httpDocumet.DocumentElement.AppendChild(soapBody); 
     httpDocumet.DocumentElement.AppendChild(xml.DocumentElement); 

ERRROR MSG

System.Web.Services.Protocols.SoapException: サーバーは要求を処理することができませんでした。 ---> System.ArgumentException:挿入されるノードが 異なるドキュメントコンテキストからのものです。あなただけxml変数にヘッダを追加して、それを返さないのはなぜ WebService1.Service1.HelloWorld(XmlDocumentオブジェクト XML)

答えて

0

で System.Xml.XmlNode.AppendChild(XmlNodeの にnewChild)で?

+0

あなたは –

+0

リチャードの答えは正しいものであることをどのように行うのかを参照してください。 –

関連する問題