POST wcf Service.svc вызывает ошибку даже при разрешенных явных глаголах - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть прокси-сервер .net CF, который выдает POST примерно так:

POST http://192.168.0.172:8080/MIS.WOService/Service.svc HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: http://tempuri.org/IWOService/LogIntoServer
Content-Length: 276
Connection: Keep-Alive
Expect: 100-continue
Host: 192.168.0.172:8080

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><LogIntoServer       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"><emp_pin>55555</emp_pin></LogIntoServer></s:Body></s:Envelope>

Вызовы всегда терпят неудачу, а сервер возвращает:

HTTP/1.1 404 Not Found
Date: Thu, 09 Dec 2010 16:07:14 GMT
Server: Microsoft-IIS/6.0
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Length: 0

Однако, если в fiddler я изменю POST на GET, это работает ...

У меня есть конфигурация для веб-сайта, чтобы разрешить ВСЕ глаголы в расширении svc, и «проверка файла существует» не проверена.

Кто-нибудь знает, что может быть причиной такого поведения IIS 6?

Когда я проверяю журналы IIS, он показывает:

#Date: 2010-12-09 16:24:34
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-    username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status 
2010-12-09 16:24:34 W3SVC1793831887 192.168.0.172 POST /MIS.WOService/Service.svc - 8080 - 192.168.200.67 - 404 0 0
2010-12-09 16:25:14 W3SVC1793831887 192.168.0.172 POST /MIS.WOService/Service.svc - 8080 - 192.168.200.67 - 404 0 0
2010-12-09 16:25:27 W3SVC1793831887 192.168.0.172 POST /MIS.WOService/Service.svc - 8080 - 192.168.200.67 - 404 0 0
2010-12-09 16:25:48 W3SVC1793831887 192.168.0.172 GET /MIS.WOService/Service.svc - 8080 - 192.168.200.67 - 200 0 0
2010-12-09 16:27:16 W3SVC1793831887 192.168.0.172 POST /MIS.WOService/Service.svc - 8080 - 192.168.200.67 - 404 0 0

Очевидно, мне нужно было указать имя как URL:

http://192.168.0.172:8080/MIS.WOService/Service.svc/basic

и затем сервер начал разрешать svc получать мыльные сообщения ...

Спасибо Грег

1 Ответ

0 голосов
/ 09 декабря 2010

Я смотрел в Fiddler, что wcfTestClient отправил как запросы ...

http://192.168.0.172:8080/MIS.WOService/Service.svc/basic

и затем сервер начал разрешать svc получать мыльные сообщения ...

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