яОшибка вызова веб-службы 401: Несанкционированный
Сбой запроса с состоянием HTTP 401: Несанкционированный
Мой веб-сервис .NET 4 работает на IIS6. Мой клиент .NET .NET работает на IIS6
Когда я запускаю оба клиента и serivce на моем локальном хосте, он работает. Когда я переведу службу на веб-сервер, я получаю вышеуказанную ошибку. Я поставил позволить
Я попробовал все комбинации анонимного доступа & встроенной проверки подлинности Windows в IIS я могу получить доступ к веб-службе через Брауэр и вызывать его с помощью Web Service Studio, хорошо, он просто не работает, когда я звоню из другой службы .NET
UPDATE
Я проверил, что IUSR учетной записи имеет право доступа к файлам NTFS и добавляются также в локальной политике безопасности, как пользователь, который может получить доступ к серверу по сети.
Когда я звоню из WebService Studio, он вызывает два запроса, которые сначала вызываются, возвращается 401, затем он снова вызывает передачу «Авторизация» и работает. Смотри ниже. Поэтому по какой-то причине мой анонимный доступ не работает. Как, когда я только анонимный доступ тикали и встроенную проверку подлинности Windows, неотмеченным я даже не могу получить доступ к нему из Брауэр
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/HelloWorld"
Host: webdev1
Content-Length: 314
Expect: 100-continue
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><HelloWorld xmlns="http://tempuri.org/"><echo>sd</echo></HelloWorld></soap:Body></soap:Envelope>
HTTP/1.1 401 Unauthorized
Content-Length: 1539
Content-Type: text/html
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
Date: Thu, 28 Jun 2012 12:26:33 GMT
Proxy-Support: Session-Based-Authentication
Вызов 2 (происходит автоматически)
POST http://webdev1/CSHRService/CSHR.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/HelloWorld"
Authorization: Negotiate YIILzQYGKwYBBQUCoIILwTCCC72gJDAiB/EG1WyqaLj3E67GA0......
Host: webdev1
Content-Length: 314
Expect: 100-continue
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><HelloWorld xmlns="http://tempuri.org/"><echo>sd</echo></HelloWorld></soap:Body></soap:Envelope>
HTTP/1.1 200 OK
Date: Thu, 28 Jun 2012 12:26:34 GMT
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate oYGgMIGdoAMKAQChCwYJKoZIgvcSAQICooGIBI..
X-AspNet-Version: 4.0.30319
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 360
Мой код, который вызывает службу только
CSHRService cshrService = new CSHRService();
string s = cshrService.HelloWorld("d");
Если вы поместите текстовый файл в корень сайта, можете ли вы ПОЛУЧИТЬ это успешно? –
yep, см. Обновленный вопрос – Daveo
Можете ли вы показать HTTP-запрос и ответ и код, который вы используете для вызова службы? –