Использование веб-службы SOAP 1.1 из .NET 3.5 - PullRequest
2 голосов
/ 12 октября 2009

Похоже, что .NET 3.5 применяет схему SOAP 1.2 при работе с веб-службами, даже если служба указывает SOAP 1.1 в схеме для конверта SOAP. Существует ли параметр для ссылки на службу для распознавания SOAP 1.1?

РЕДАКТИРОВАТЬ: Проблема заключается в форматировании ошибок SOAP, возвращаемых из веб-службы клиенту .NET 3.5. В SOAP 1.1 допускается, чтобы первый подэлемент ошибки был <faultactor>. В SOAP 1.2 это больше не действует - первый подэлемент должен быть <faultcode>. Проблема, с которой я столкнулся, заключалась в том, что когда веб-служба SOAP 1.1 возвращала ошибку SOAP, я получал исключение в .NET с жалобой на то, что элемент <faultcode> ожидался, но был получен <faultactor>. Я думаю, что мы сузили проблему до проблемы управления версиями SOAP; сейчас мы тестируем предложенное решение.

1 Ответ

5 голосов
/ 12 октября 2009

Если вы используете WCF, установите его в пользовательской привязке.

 <textMessageEncoding messageVersion="Soap11" />

Если вы используете asmx, вот хороший Блог

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...