«Доступ запрещен» при использовании веб-службы через SOAP - PullRequest
3 голосов
/ 27 июля 2011

Я создал проект приложения веб-службы .NET 3.5, который будет размещен в IIS 7.5 на сервере Windows Server 2008 R2.

Я могу без проблем использовать сервис из приложения ASP.NET, размещенного на одном и том же сервере и на другом сервере по всей нашей сети. Когда другой сотрудник пытается использовать службу, используя протокол SOAP, он получает следующую ошибку:

Ошибка синтаксического анализатора XML для номера белья 0, позиция строки 0, причина: Доступ отказано.

Конфигурация аутентификации установлена ​​на Интегрированную аутентификацию Windows, и потребитель должен будет предоставить учетные данные учетной записи службы при попытке использовать службу.

Кто-нибудь еще сталкивался с этой проблемой и знает, как ее решить?

UPDATE

Поговорив со своим коллегой и службой поддержки клиентов относительно использования моего веб-сервиса, они обнаружили, что на их этапе INVOKE SOAP есть ограничения. По данным продавца:

Объект Invoke SOAP не может интерпретировать WSDL, содержащие вход / выход параметры, если определение сообщения WSDL содержит идентичную часть имена для ввода и вывода сообщений и идентичные типы данных.

API веб-службы содержат метод и выходной параметр, которые имеют одно и то же имя. Если вы посмотрите на метод веб-сервиса в браузере, он имеет следующую структуру в ответе:

<soap:Body>
    <MyServiceResponse>
        <MyServiceResponse>
            <property>...

Вопрос сейчас .... Это обычное поведение при использовании протокола SOAP или оно ограничено только тем, как продукт поставщика анализирует SOAP-сообщение?

1 Ответ

0 голосов
/ 19 ноября 2011

Похоже, что это слабость поставщика, а не проблема спецификации SOAP. Они, вероятно, имеют наполовину реализованный стек SOAP.

...