none
WCF-netTCP adapter : This collection already contains an address with scheme net.tcp. There can be at most one address per scheme in this collection. RRS feed

  • Question

  • Hello,

    I deployed a bizTalk orchestration->created a Receive Port and Receive location with WCF NET TCP adapter.

    I then used the Publishing wizard to expose the metadata for this receive location. I assigned it proper app pool on IIS and on the advanced setting on IIS, i set the 'Behaviour' as "http,net.tcp"

    When I browse the service, I get this error:

    This collection already contains an address with scheme net.tcp.  There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'.
    Parameter name: item

    If I change the Behaviour on IIS to just http, it service opens in the browser.

    I also tried changing the web.config and added the following, but I am still getting the error message:

    <serviceHostingEnvironmentmultipleSiteBindingsEnabled="true">

    </serviceHostingEnvironment>

    Wednesday, June 20, 2012 4:34 PM

Answers

  • Multisitebinding property is a .Net 4.0 feature ...

    Are you in .Net 4.0 ? Otherwise try

    <system.servicemodel></system.servicemodel><servicehostingenvironment></servicehostingenvironment><baseaddressprefixfilters></baseaddressprefixfilters><add prefix="net.tcp://youraddress.com:8000"></add><add prefix="http://youraddress.yourorg.com:9000"></add></baseaddressprefixfilters><//baseaddressprefixfilters></servicehostingenvironment><//servicehostingenvironment></system.servicemodel><//system.servicemodel>

    Tanvir Huda Application Architect/Consultant http://thetechnocrate.wordpress.com/

    • Marked as answer by Yi-Lun Luo Wednesday, June 27, 2012 9:27 AM
    Thursday, June 21, 2012 1:06 AM

All replies

  • Also, what is the difference if I specify the 'Behaviour' property on IIS 7 as either just 'http' or 'http,net.tcp'

    When I specify just as 'http', I can browse to the wsdl and if I create a client using that WSDL, the binding and end points are generated as below:

    <endpoint address="net.tcp://mymachine/mybinding" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_ITwoWayAsync" contract="CCHQueryService.SCOPEII_BizTalk_CCHModule_CCHModuleOrchestration_SCOPEIIGetSaveCCHPort" name="NetTcpBinding_ITwoWayAsync" />

                <netTcpBinding>
                    <binding name="NetTcpBinding_ITwoWayAsync" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
                        hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                        maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
                        maxReceivedMessageSize="65536">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00"
                            enabled="false" />
                        <security mode="Transport">
                            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                            <message clientCredentialType="Windows" />
                        </security>
                    </binding>
                </netTcpBinding>

    Wednesday, June 20, 2012 4:46 PM
  • Multisitebinding property is a .Net 4.0 feature ...

    Are you in .Net 4.0 ? Otherwise try

    <system.servicemodel></system.servicemodel><servicehostingenvironment></servicehostingenvironment><baseaddressprefixfilters></baseaddressprefixfilters><add prefix="net.tcp://youraddress.com:8000"></add><add prefix="http://youraddress.yourorg.com:9000"></add></baseaddressprefixfilters><//baseaddressprefixfilters></servicehostingenvironment><//servicehostingenvironment></system.servicemodel><//system.servicemodel>

    Tanvir Huda Application Architect/Consultant http://thetechnocrate.wordpress.com/

    • Marked as answer by Yi-Lun Luo Wednesday, June 27, 2012 9:27 AM
    Thursday, June 21, 2012 1:06 AM