Назад | Перейти на главную страницу

WebService на IIS7 возвращает «Данные недействительны», но работает на сервере разработки ASP.NET.

Я теряю нервы из-за ошибки, с которой никогда раньше не сталкивался: я установил простую веб-службу SOAP, работающую в .net 4, которая получает строку в качестве входных данных и возвращает XMLDocument.

При тестировании службы в среде разработчика, то есть на сервере разработки ASP.NET, все работает нормально, однако, когда я помещаю WS на сервер IIS7, сервер отказывается обрабатывать запрос и возвращает ошибку 500, в которой говорится: "Серверу не удалось обработать запрос - данные недействительны."

Я тестирую WS с клиента, который находится в той же сети, но на другом компьютере. SOAP-запрос, который отправляется от клиента, моделируется точно так же, как требует WS. Запрос, без сомнения, правильный, так как мне удается правильно вызвать WS с локального клиента, связывающегося с «localhost».

Возможно, мне нужно настроить какие-то дополнительные параметры на IIS7?

Привет, Алоис

Я бы проверил путь, который используется для чтения XML-документа, чтобы убедиться, что он правильно рассчитан и в IIS. Если вы используете что-то вроде Server.MapPath и ваш сайт имеет другую структуру vdir, это может сработать.

Также проверьте, вернув простой привет мир, а не полный документ xml, чтобы увидеть, имеет ли это значение и помогает ли вам сузить причину.

Если вы используете WCF, это касается привязки. Имя привязки IIS должно быть таким же, как ожидает WCF. Это вопрос для stackoverflow.com, но на него стоит посмотреть.

Также проверьте журналы IIS, чтобы увидеть, есть ли код подстатуса, который дает больше подсказок.