I have a WCF service that opened the soap and xml endpoint. When I use svcutil to create proxy code on the client side, the generated configuration contains two endpoints that cause the client to crash. If I edit the web.config file and delete the second endpoint (with user binding), everything will work as expected. Is there a way that I can get svcutil to create a configuration that only works so that I don't need to manually edit the file every time?
Client error:
The endpoint configuration section for the MyNamespace.ITestService contract could not be loaded because more than one endpoint configuration was found for this contract. Please indicate the preferred endpoint configuration section by name.
Svcutil Command:
svcutil http:
/reference:bin\MyNamespace.Interface.dll
/config:web.config
/mergeConfig
/out:"Service References\TestService.cs"
/n:*,MyNamespace
Generated client configuration:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ITestService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
<customBinding>
<binding name="CustomBinding_ITestService">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="http://api2.local/Test.svc/soap" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_ITestService" contract="MyNamespace.ITestService"
name="BasicHttpBinding_ITestService" />
<endpoint binding="customBinding" bindingConfiguration="CustomBinding_ITestService"
contract="MyNamespace.ITestService" name="CustomBinding_ITestService" />
</client>
</system.serviceModel>
source
share