Вопрос

Поэтому я звоню 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 принять его.

Здесь это объяснение того, как отформатировать обернутые параметры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top