У меня нет идей, поэтому я надеюсь, что кто-то может помочь. Вот что у меня есть:
- Служба WCF, имеющая только конечную точку basicHttpBinding.
- Существует только интерфейс службы, все остальные [DataMember], [FaultContract] являются конкретными типами.
- Когда я запускаю его прямо из Visual Studio (с помощью WCF Test Client или моего пользовательского приложения), все работает (я отправляю запрос и получаю ответ). Обычно это занимает секунду или две.
- Я опубликовал его на сервере IIS 6.
- Я могу успешно открыть http://server/WebService/WebService.svc?WSDL
- Я могу успешно открыть http://server/WebService/WebService.svc/mex (тот же вывод, что и выше)
- Тестовый клиент WCF и мое пользовательское приложение могут успешно добавить ссылку на службу
- Всякий раз, когда я пытаюсь вызвать сервисный метод, он ждет около 15 секунд, и я получаю страшную ошибку «нет значимого ответа».
- Я запустил Fiddler и получил результат 202, который выглядел бы как успех.
- Не возвращается более 65536 байт
- Возвращает массив, но он маленький
- Я пробовал удаленную отладку, но не могу заставить ее работать, возможно, из-за брандмауэра (но порт 80 открыт, я могу получить WSDL)
- Я включил системную диагностику, ничего.
- У меня есть IErrorHandler, который обычно регистрирует вещи, ничего.
Вот конфигурация конечной точки:
<endpoint address="" binding="basicHttpBinding" contract="Enterprise.IMyService" bindingNamespace="http://ourdomain.com/MyService/">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
Что-нибудь еще я могу попробовать? Возможно, это где-то простая настройка, но я не могу понять это.
Edit:
Необработанный отклик скрипача:
HTTP/1.1 202 Accepted
Date: Thu, 15 Apr 2010 19:02:45 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0