Это здесь, в вашей конфигурации, безусловно, неправильно:
<endpoint address="mex" binding="mexHttpBinding" contract="WcfCrmService.IPermitTypesService" />
Конечная точка MEX для обмена метаданными должна иметь встроенный контракт WCF IMetadataExchange
и не ваш собственный контракт на обслуживание.
Попробуйте использовать это:
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
Это работает сейчас ?? Тестовый клиент WCF использовал бы конечную точку MEX, чтобы узнать о вашем сервисе - если у вас там был неверный контракт на обслуживание, тестовый клиент, безусловно, не будет работать ...
Обновление: Ваш базовый адрес также немного странен:
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/WcfCrmService/Mex/" />
</baseAddresses>
Это означает, что ваш фактический сервис доступен по адресу:
http://localhost:8732/Design_Time_Addresses/WcfCrmService/Mex/
при достижении конечной точки MEX по адресу:
http://localhost:8732/Design_Time_Addresses/WcfCrmService/Mex/mex/
Я бы рекомендовал использовать лучший / более значимый базовый адрес для службы и просто добавить mex
в конец конечной точки MEX:
<baseAddresses>
<add baseAddress="http://localhost:8732/Services/WcfCrmService/" />
</baseAddresses>