Получение "WSE003: вход не был действительным сообщением SOAP" при каждом вызове WAP 2.0 SoapHttpRouter
Я уже пробовал несколько разных SOAP-сообщений, даже те, которые имеют пустой заголовок и тело, но безуспешно попали в мой производный от SoapHttpRouter класс:-(
Кроме того, когда я нажимаю на.asmx-URL с помощью браузера, возникает такая ошибка... здесь подробно описывается трассировка стека ошибки:
[NotSupportedException: WSE003: The input was not a valid SOAP message.]
Microsoft.Web.Services2.Messaging.SoapHttpRouter.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object asyncState) +134
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8677954
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
Я надеюсь, что есть кто-то, у кого была такая же проблема. Буду очень признателен за вашу помощь!
3 ответа
Обычно, когда я получаю это сообщение, это происходит из-за ошибки на стороне сервера, и он отправляет страницу ошибки HTML по умолчанию обратно вместо правильно отформатированного сообщения SOAP.
Я бы попробовал пройтись по коду на стороне сервера (если это возможно), чтобы убедиться в отсутствии проблем.
Знаете ли вы, что WSE 2.0 чрезвычайно устарел? Даже больше, чем WSE 3.0.
Я недавно столкнулся с этой проблемой. Решением для меня было добавить SOAPAction HttpHeader к запросу, чтобы заголовок запроса выглядел примерно так:
POST <web service url> HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: <action url>
Host: <host>
Content-Length: xxx