WCF отдых несколько данных DataContracts завернут
-
30-09-2019 - |
Вопрос
Поэтому я звоню WCF Webservice, используя REST WebHTTP. Я также настроил второй связывающий MEX для тестирования. Мой метод работает, но когда я пытаюсь протестировать через Fiddler или Rettle HTTPPOST через клиентское приложение, я получаю ошибку 400 плохого запроса. Я передаю несколько данных DataContracts к способу. Это заставляет меня использовать бодюзную стиль завернутых, но я не знаю, как отформатировать мой XML для теста. Я создал метод теста, чтобы попробовать эту и ту же ошибку. Вот мой код: все мои другие методы работают с одним DataContract, но этот, где у меня есть двое. Я считаю, что проблема находится в XML внизу этого поста, он должен быть завернут, но я не знаю, как обернуть его.
[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; }
}
мой XML, который я использую
<Test>
<wsAuth>
<DeviceId>jenglish</DeviceId>
<Password>treetop</Password>
<UserName>jenglish</UserName>
</wsAuth>
<wsMed>
<Test></Test>
</wsMed>
</Test>
Нет правильного решения
Другие советы
Боюсь, ты собираешься бороться с этим. Во-первых, вы отсутствуете пространства имен серии Datacontract. DataContractserializer является довольно прививающим к тому, как он хочет, это форма XML.
Был вопрос просто совсем недавно От кого-то пытается сделать что-то гораздо проще, и ему было трудно получить WCF принять его.
Здесь это объяснение того, как отформатировать обернутые параметры.