Frage

Also habe ich ein WCF-Webservice mit Rast WebHttp nenne. Ich habe auch eine zweite Bindungs ??mex zum Testen eingerichtet. Meine Methode funktioniert, aber wenn ich zu Test durch Fiedler versuchen oder gerade Httppost durch eine Client-Anwendung Ich erhalte einen 400 Bad Anforderungsfehler. Ich bin vorbei mehrere Datacontracts dem Verfahren. Es zwingt mich den Bodystyle verpackter zu verwenden, aber ich weiß nicht, wie für den Test meines xml zu formatieren. Ich habe eine Testmethode hat dieses und denselben Fehler zu versuchen. Hier ist mein Code: Alle meine anderen Methoden arbeiten mit einem Datacontract aber dieses, wo ich zwei haben nicht. Ich glaube, das Problem ist in der xml am Ende der Post, muss es eingewickelt werden, aber ich weiß nicht, wie es zu wickeln.

[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped)]
string Test(wsAuth a, wsMed m);

[DataContract(Namespace = "")]
public class wsMed
{
 [DataMember]
 public string Test{ get; set; }
}

[DataContract(Namespace = "")]
public class wsAuth
{
 [DataMember]
 public string UserName { get; set; }
 [DataMember]
        public string Password { get; set; }
 [DataMember]
 public string DeviceId { get; set; }
}

meine xml, dass ich mit

<Test>
<wsAuth>
 <DeviceId>jenglish</DeviceId>
 <Password>treetop</Password>
 <UserName>jenglish</UserName>
</wsAuth>
<wsMed>
 <Test></Test>
</wsMed>
</Test>

Keine korrekte Lösung

Andere Tipps

Ich fürchte, Sie damit kämpfen werden. First off, sind Sie die Datacontract Serialisierung Namespaces. Die DataContractSerializer ist ziemlich wählerisch, wie es es ist xml formated will.

Es war eine Frage nur vor kurzem von jemand versucht, etwas viel einfacher zu tun, und er hatte Schwierigkeiten WCF bekommen, es zu akzeptieren.

hier ist eine Erklärung, wie gewickelte Parameter formatiert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top