Vishwamohan

Welcome to Vishwa's blog - Technology, Spirituality and More...

Error:There is no compatible TransportManager found for URI

If you are configuring WCF Service, it is possible that you may come across the following error.

There is no compatible TransportManager found for URI 'net.tcp://MyDomain.net/MyService.svc/mex'. This may be because you have used an absolute address that points outside of the virtual application, or the binding settings of the endpoint do not match those that have been set by other services or endpoints. Note that all bindings for the same protocol should have the same settings in the same application.

 

Problem: The actual problem is you have defined more than one endpoint for address=”mex”

Solution: Ensure that you have only one endpoint for meta data exchange address, preferably use http or https binding

For example

 
<service behaviorConfiguration="svcBehavior_Common" name="MyWCFService.MyService">
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding_Common" name="wsHttpEndpoint_IMyService" bindingNamespace="http://wcfservices.mydomain.net" contract="MyWCFService.IMyService" />
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="netTcpBinding_Common" name="netTcpEndpoint_IMyService" bindingNamespace="http://wcfservices.mydomain.net" contract="MyWCFService.IMyService" />
    <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mexHttpsBinding_Common" name="mexHttpEndpoint_IMyService" bindingNamespace="http://wcfservices.mydomain.net" contract="IMetadataExchange" />
  </service>

 

Note: Configuration info are defined in common place if the same is used by multiple services

Loading