2017-05-31 1 views
-1

Ich entwickle meinen ersten WCF-Webservice, in dem ich die eingehende Soap-Nachricht in den XML-Dom zur Verarbeitung laden muss, aber ich kann nicht herausfinden, wie das geht. Ich versuche:C# So laden Sie eingehende soap1.2-Nachricht in xml dom

namespace acdCM 
{ 

    [ServiceContract] 
    public interface IResNotif 
    { 
     [OperationContract] 
     [XmlSerializerFormat] 
     XmlDocument OTA_HotelResNotifRQ(); 
    } 
} 

namespace acdCM 
{ 

    public class ResNotif : IResNotif 
    { 
     public XmlDocument OTA_HotelResNotifRQ() 
     { 
      XmlDocument doc = new XmlDocument(); 
      doc.LoadXml(System.Web.Services.Protocols.SoapMessage.ToString()); 

      ....... 
     } 
    } 
} 

, die überhaupt nicht arbeiten, weil nicht Soapmessage als Zeichenfolge verwendet werden kann.

Mein Problem ist, dass ich nicht herausfinden kann, wie aus der eingehenden SoapMessage eine Zeichenfolge erstellt, so dass ich es in ein XmlDocument laden kann.

+0

Bitte lesen Sie [fragen] und erklären Sie, was "überhaupt nicht funktioniert" bedeutet genau. – CodeCaster

+0

Konsumieren Sie einen Seifenservice? Oder erstellen Sie einen Host-Service? Im Servicekontrakt ist der Rückgabetyp XmlDocument nicht sinnvoll. – loopedcode

+0

@CodeCaster - hi, danke fürs schauen. Ich habe meinen Beitrag etwas bearbeitet - ich hoffe mein Dilemma wird jetzt deutlicher erklärt. – Craig

Antwort

0

So, jetzt kann ich meine eigene Frage beantworten.

die eingehende SOAP-Nachricht zu erhalten, habe ich

String rq = System.ServiceModel.OperationContext.Current.RequestContext.RequestMessage.ToString();

dann in ein XmlDocument laden wie folgt aus:

XmlDocument doc = new XmlDocument();

doc.LoadXml (rq);