I'm having some difficulty getting my WCF service configured. My requirement is that it exposes a basicHttpBinding endpoint as well as a netTcpBinding endpoint. Some of my clients are .NET 2.0, and need to be able to generate a proxy via WSDL.exe.
It seems to work for the most part - but when I attempt to get the WSDL, it's not cooperating. In a browser, it gives me back some SOAP XML tags, but definitely not a full WSDL. WSDL.exe gives me a series of errors:
Error: There was an error processing 'http://1.2.3.4:9877/MyService/basicHttp?wsdl'.
- The document was understood, but it could not be processed.
- The WSDL document contains links that could not be resolved.
- There was an error downloading 'http://localhost:9877/MyService/basicHttp?wsdl=wsdl0'.
- The underlying connection was closed: Unable to connect to the remote server.
Here's my host configuration. Does anything jump out as wrong here?
<system.serviceModel>
<services>
<service behaviorConfiguration="MyServiceBehavior" name="MyRunner">
<endpoint address="netTcp" binding="netTcpBinding" bindingConfiguration="" contract="IMyRunner">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="basicHttp" binding="basicHttpBinding" bindingConfiguration="" contract="IMyRunner">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9876/MyService/netTcp" />
<add baseAddress="http://localhost:9877/MyService/basicHttp" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>