В зависимости от того, как вы хотите настроить это, вы можете выбрать следующий подход:
1) В serviceBehaviors Я склонен добавлять следующее в поведение: (полностьюнеобязательно)
<useRequestHeadersForMetaAddress>
<defaultPorts>
<add scheme="http" port="__PORT__" />
</defaultPorts>
</useRequestHeadersForMetaAddress>
Это делает службу доступной с помощью запроса, используя localhost
, localserver1
, www.webserver2.com
или fully.qualified.domain.com
.(Делает для уменьшения головной боли ИМХО).
2) Адреса конечных точек относительно baseAddress.Это значит, что вы можете использовать address=""
для привязки по умолчанию и address="mex"
для mexHttpBinding, учитывая, что baseAddress="http://localhost:__PORT__/Website/ServiceZ"
Скорее всего ваша проблема WSDL вызвана сочетаниемдве проблемы (в основном, служба говорит, что вся разметка может быть найдена на локальном хосте (как указано адресом конечной точки) - что верно, когда вы запускаете ее локально, однако, когда она находится на удаленном сервере, это уже не так)