Я могу просмотреть URL-адрес веб-службы, и он хорошо отображается в браузере.
Я могу получить ?wsdl
из веб-браузера.
Когда я получаю доступ к сервису, я получаю 404 (фидлер говорит: HTTP / 1.1 404 Not Found)
. * .Svclog записывается, когда я получаю доступ к адресу через браузер, но не когда я получаю к нему доступ через мыльный клиент.
using (ImportServiceClient client =
new ImportServiceClient("ImportServiceSoap12", REMOTE_ADDRESS))
{
Я пробовал baseAddresses и WCFExtras wsdlExtensions.
Все тот же 404.
Я смотрю на это: http://www.jamesgoodfellow.com/blog/post/IIS-60---HTTP-404---File-not-found-Internet-Information-Services.aspx, но, поскольку это XP, этой папки не существует, она работает в веб-браузере и генерируется * .svclog.
Тестовый компьютер, на котором я пытаюсь запустить эту систему, - это XP.
Доступ к компьютеру осуществляется по адресу без IP-адреса.
До WCF я решил эту проблему с помощью, но я не могу найти решение в WCF.
UPDATE
При выполнении «Настроить ссылку на службу» для этой конечной точки я мог наблюдать кое-что интересное из fiddler:
/ IntegrationServer / ImportService.svc возвращает 404
/IntegrationServer/ImportService.svc/mex возвращает 200
/IntegrationServer/ImportService.svc?wdsl возвращает 200
ОБНОВЛЕНИЕ 2
Кажется, что
/IntegrationServer/ImportService.svc/soap
/IntegrationServer/ImportService.svc/soap12
тоже работает. Это моя конфигурация конечной точки.
<endpoint name="ImportServiceSoap" behaviorConfiguration="NoIpConfiguration" address="soap" binding="basicHttpBinding" contract="Integration.Server.IImportService"/>
<endpoint name="ImportServiceSoap12" behaviorConfiguration="NoIpConfiguration" address="soap12" binding="wsHttpBinding" contract="Integration.Server.IImportService">
Правильно ли предположить, что я всегда должен добавлять свойство "address" к адресу службы, если я хочу использовать пользовательский адрес конечной точки в клиенте?