none
BizTalk 2013 WCF-BasicHttpRelay & proxy server

    Question

  • Can anyone answer what the supported way for exposing a WCF-BasicHttpRelay receive location through a proxy is?

    We have tested the proxy with WcfBasicHttp and WcfWebHttp send ports successfully utilising the BizTalk host credentials that run the receive location.

    To get the receive location to work we have tried putting the default proxy against the BTSNTSvc.exe.config files using both these approaches and neither appears to work. I can see the BizTalk host process making connection attempts via the proxy but it doesn't seem to work.

    <system.net>  
        <defaultProxy useDefaultCredentials="true">   
          <proxy bypassonlocal="True" usesystemdefault="True"/>   
        </defaultProxy>  
    </system.net>

    And

    <system.net>
      <defaultProxy useDefaultCredentials="true">
         <proxy bypassonlocal="True" proxyaddress="yourproxy" />
      </defaultProxy>
    </system.net>

    http://social.technet.microsoft.com/wiki/contents/articles/troubleshooting-connectivity-issues-in-the-windows-azure-appfabric-service-bus.aspx


    Nikolai Blackie Adaptiv Integration

    Thursday, February 28, 2013 10:06 PM

Answers

  • Hi Nikolai,

    I got it working using below entry in bts config.

    <system.net>
      <defaultProxy useDefaultCredentials="true">
         <proxy bypassonlocal="True" proxyaddress="http://xxxxxx:8080" />
      </defaultProxy>
    </system.net>

    I was getting below error without config entry.

    The Messaging Engine failed to add a receive location "xxxxxxxxxx Relay Service Location" with URL "https://zzzzzzintegration.servicebus.windows.net/httprelay/zzzzzzeservice" to the adapter "WCF-BasicHttpRelay". Reason: "System.ServiceModel.CommunicationException: Unable to reach xxxxxxxxxx.servicebus.windows.net via TCP (9351, 9352) or HTTP (80, 443)

    Regards,
    Genuine

    Genuine Basil



    • Marked as answer by Nikolai Monday, November 11, 2013 6:56 PM
    • Edited by Genuine Basil Monday, November 18, 2013 9:41 PM removed URL details from error
    Monday, November 11, 2013 3:50 AM

All replies

  • You can't use proxy to expose a WCF-BasicHttpRelay receive location. 

    http://msdn.microsoft.com/en-us/library/jj572837(v=bts.80).aspx


    Molly,
    Please Mark as the Answer, if this answers your question. Please vote as helpful, if this post is helpful.

    Friday, March 01, 2013 9:45 AM
  • Service Bus relay bindings connect and communicate with Azure Relay Service over private sb protocol, regardless of how Azure Relay Service ultimately exposes your service externally (http, https or sb). Http proxy between your service and Relay Service is irrelevant here (with the exception of initial handshake with Azure ACS).
    Friday, March 01, 2013 8:41 PM
  • Hi Nikolai,

    I got it working using below entry in bts config.

    <system.net>
      <defaultProxy useDefaultCredentials="true">
         <proxy bypassonlocal="True" proxyaddress="http://xxxxxx:8080" />
      </defaultProxy>
    </system.net>

    I was getting below error without config entry.

    The Messaging Engine failed to add a receive location "xxxxxxxxxx Relay Service Location" with URL "https://zzzzzzintegration.servicebus.windows.net/httprelay/zzzzzzeservice" to the adapter "WCF-BasicHttpRelay". Reason: "System.ServiceModel.CommunicationException: Unable to reach xxxxxxxxxx.servicebus.windows.net via TCP (9351, 9352) or HTTP (80, 443)

    Regards,
    Genuine

    Genuine Basil



    • Marked as answer by Nikolai Monday, November 11, 2013 6:56 PM
    • Edited by Genuine Basil Monday, November 18, 2013 9:41 PM removed URL details from error
    Monday, November 11, 2013 3:50 AM
  • I forgot to come back to this issue I logged, in our case it happened to be that the proxy server had not been setup to allow our service user which was blocking it. So in the end the configuration stated did actually work correctly.

    Nikolai Blackie Adaptiv Integration

    Monday, November 11, 2013 6:58 PM