WCF-NetTcpRelay Adapter

Microsoft BizTalk Server uses the WCF-NetTcpRelay adapter to receive and send WCF service requests through the NetTcpRelayBinding class.

This topic lists the steps to configure a WCF-NetTcpRelay receive location and send port using the BizTalk Server Administration Console.

Before you begin

Starting with BizTalk Server 2016, this adapter can use Access Control Service (ACS) or the Shared Access Signature (SAS) to athenticate with Service Bus. We recommend using the Shared Access Signature (SAS) when authenticating with Service Bus.

When you create a Service Bus namespace, the Access Control (ACS) namespace is not automatically created. If you use ACS to authenticate, then you may need to create a new ACS namespace. See SB-Messaging adapter for more detailed information, including the steps to retrieve the ACS key values.

Create the receive location

Note

Before completing the following procedure, you must have already added a one-way receive port. See How to Create a Receive Port.

  1. In the BizTalk Administration console, expand BizTalk Server Administration, expand BizTalk Group, expand Applications, and then expand the application you want to create a receive location in.

  2. In the BizTalk Administration console, in the left pane, click the Receive Port node. Then in the right pane, right-click the receive port that is associated with an existing receive location or that you want to associate with a new receive location, and then click Properties.

  3. In the Receive Port Properties dialog box, in the left pane, select Receive Locations, and then in the right pane, double-click an existing receive location or click New to create a new receive location.

  4. In the Receive Location Properties dialog box, in the Transport section, select WCF-NetTcpRelay from the Type drop-down list, and then click Configure to configure the transport properties for the receive location.

  5. In the WCF-NetTcpRelay Transport Properties dialog box, on the General tab, configure the endpoint address and the endpoint identity for the WCF-NetTcpRelay receive location.

    Use this To do this
    Address (URI) Required. Specify the fully qualified URI for this receive location. This will typically be in the following format:

    sb://<Namespace>.servicebus.windows.net/
    Endpoint Identity Optional. Specify the endpoint identity. These settings enable the endpoint to authenticate this receive location. In the handshake process between the endpoint and the receive location, the Windows Communication Foundation (WCF) infrastructure will ensure that the identity of the endpoint matches the values of this element.

    Minimum length: 0

    Maximum length: 32767

    The default is an empty string.
  6. In the WCF-NetTcpRelay Transport Properties dialog box, on the Binding tab, configure the time-out and transaction properties.

    Use this To do this
    Open timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a channel open operation to complete. This value should be greater than or equal to System.TimeSpan.Zero.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Send timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a send operation to complete. This value should be greater than or equal to System.TimeSpan.Zero. If you use a request-response receive port, this value specifies a time span for the whole interaction to complete, even if the client returns a large message.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Close timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a channel close operation to complete. This value should be greater than or equal to System.TimeSpan.Zero.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Maximum received message size (bytes) Specify the maximum size, in bytes, for a message including headers, which can be received on the wire. The size of the messages is bounded by the amount of memory allocated for each message. You can use this property to limit exposure to denial of service (DoS) attacks.

    The WCF-NetTcpRelay adapter leverages the NetTcpRelayBinding class in the buffered transfer mode to communicate with an endpoint. For the buffered transport mode, the NetTcpRelayBindingBase.MaxBufferSize property is always equal to the value of this property.

    Default value: 65536

    Maximum value: 2147483647
    Maximum concurrent calls Specify the number of concurrent calls to a single service instance. Calls in excess of the limit are queued. Setting this value to 0 is equivalent to setting it to Int32.MaxValue.

    Default value: 200
  7. In the WCF-NetTcpRelay Transport Properties dialog box, on the Security tab, define the security capabilities of the WCF-NetTcpRelay receive location.

    Use this To do this
    Security mode Specify the type of security that is used. Valid values include the following:

    - None: Messages are not secured during transfer.

    - Transport: Transport security is provided using TLS over TCP or SPNego. It is possible to control the protection level with this mode. If you select None or Certificate for the Transport client credential type property in this security mode, you must supply the service certificate for this receive location through the Service certificate - Thumbprint property.

    - Message: Security is provided using SOAP message security. By default, the SOAP Body is encrypted and signed. This mode offers a variety of features, such as whether the service credentials are available at the client out of band, and the algorithm suite to use. If you select None, UserName, or Certificate for the Message client credential type property in this security mode, you must supply the service certificate for this receive location through the Service certificate - Thumbprint property.

    - TransportWithMessageCredential: Transport security is coupled with message security. Transport security is provided by TLS over TCP or SPNego and ensures integrity, confidentiality, and server authentication. If you select Windows, UserName, or Certificate for the Message client credential type property in this security mode, you must supply the service certificate for this receive location through the Service certificate - Thumbprint property.

    Note: This security mode cannot be used with the Transport client credential type property, None.

    The default is Transport.
    Transport protection level Define security at the level of the TCP transport. Signing messages mitigates the risk of a third party tampering with the message while it is being transferred. Encryption provides data-level privacy during transport. Valid values include the following:

    - None: No protection.

    - Sign: Messages are signed.

    - EncryptAndSign: Messages are encrypted and signed.

    The default value is EncryptAndSign.
    Message client credential type Specify the type of credential to be used when performing client authentication using message-based security. This is required only if the Security mode is set to Message or TransportWithMessageCredential. Valid values include the following:

    - None: This allows the service to interact with anonymous clients. This indicates that this client does not provide any client credential.

    - Windows: Allow the SOAP exchanges to be under the authenticated context of a Windows credential. The client credential is passed through the SOAP Header element using the WSS SOAP Message Security Kerberos Token Profile 1.0 protocol. You must create the domain or local user accounts corresponding to client credentials. In addition, the client's userPrincipalName element must be configured with the user account name running this receive handler.

    - UserName: Clients are authenticated to this receive location with a UserName credential. The credential is passed through the SOAP Header element using the WSS SOAP Message Security UsernameToken Profile 1.0 protocol. You must create the domain or local user accounts corresponding to client credentials.

    -Certificate: Clients are authenticated to this receive location using the client certificate specified through the Service certificate - Thumbprint property. The credential is passed through the SOAP Header element using the WSS SOAP Message Security X509 Token Profile 1.0 protocol. To authenticate the client certificates, the CA certificate chain for the client certificates must be installed in the Trusted Root Certification Authorities certificate store of this computer. In addition, you must provide the service certificate for this location through the Service certificate - Thumbprint property.

    The default is Windows.
    Algorithm suite Specify the message encryption and key-wrap algorithms. These algorithms map to those specified in the Security Policy Language (WS-SecurityPolicy) specification. Possible values are:

    - Basic128: Use Aes128 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic128Rsa15: Use Aes128 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic128Sha256: Use Aes256 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic128Sha256Rsa15: Use Aes128 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - Basic192: Use Aes192 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic192Rsa15: Use Aes192 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic192Sha256: Use Aes192 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic192Sha256Rsa15: Use Aes192 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - Basic256: Use Aes256 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic256Rsa15: Use Aes256 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic256Sha256: Use Aes256 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic256Sha256Rsa15: Use Aes256 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - TripleDes: Use TripleDes encryption, Sha1 for message digest, Rsa-oaep-mgf1p for key wrap.

    - TripleDesRsa15: Use TripleDes encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - TripleDesSha256: Use TripleDes for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - TripleDesSha256Rsa15: Use TripleDes for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    The default value is Basic256.
    Service certificate -Thumbprint Specify the thumbprint of the X.509 certificate for this receive location that the clients use to authenticate the service. The thumbprint can be selected by navigating the My store in the Current User location with the Browse button.

    Note: You must install the service certificate into the Current User location of the user account for the receive handler hosting this receive location.

    Minimum length: 0

    Maximum length: 40

    The default is an empty string.
    Relay client authentication type Specify the option to authenticate with the Service Bus relay endpoint from where the message is received. Valid values include the following:

    - None: No authentication is required.

    - RelayAccessToken: Specify this to use a security token to authorize with the Service Bus Relay endpoint.

    The default value is RelayAccessToken.
    Enable service discovery Select this check box to specify whether the behavior of the service is published in the Service Registry.

    - Display name – Specify the name with which the service is published to the Service Registry.

    - Discovery mode – Set the discovery mode for the service published in the Service Registry. For more information about the discovery modes, see https://msdn.microsoft.com/library/microsoft.servicebus.discoverytype.aspx.
    Access control service Applies to BizTalk Server 2013 R2 and BizTalk Server 2013.

    If you set the Relay client authentication type to RelayAccessToken, click the Edit button and specify the following details:

    - Access Control Service STS Uri – Set this to https://<Namespace>-sb.accesscontrol.windows.net/, where <namespace> is your Service Bus namespace.

    - Issuer Name – Specify the issuer name. Typically this is set to owner.

    - Issuer Key – Specify the issuer key.

    Service Bus connection information New starting with BizTalk Server 2016.

    Choose to use the Shared Access Signature (SAS) or Access Control Service (ACS) of the Service Bus namespace.

    Select an option, and then select Edit to enter the key information:

    - Shared Access Signature : Enter the access key name, and the access key. Both values are listed in the Azure portal.
    - Access Control Service : Enter the STS URI (https://<yourNamespace>-sb.accesscontrol.windows.net/), Issuer name, and Issuer key. Use Windows PowerShell to retrieve these values, as described in SB-Messaging adapter.
  8. In the WCF-NetTcpRelay Transport Properties dialog box, on the Messages tab, specify the data selection for the SOAP Body element.

    Use this To do this
    Envelope -- entire <soap:Envelope> Create the BizTalk message body part from the entire SOAP Envelope of an incoming message.

    The default value is cleared.
    Body -- contents of <soap:Body> element Use the content of the SOAP Body element of an incoming message to create the BizTalk message body part. If the Body element has more than one child element, only the first element becomes the BizTalk message body part.

    This is the default setting.
    Path -- content located by body path Use the body path expression in the Body path expression text box to create the BizTalk message body part. The body path expression is evaluated against the immediate child element of the SOAP Body element of an incoming message.

    The default value is cleared.
    Body path expression Type the body path expression to identify a specific part of an incoming message used to create the BizTalk message body part. This body path expression is evaluated against the immediate child element of the SOAP Body element of an incoming message. If this body path expression returns more than one node, only the first node is chosen for the BizTalk message body part. This property is required if the Path -- content located by body path option is selected.

    Type: String

    Minimum length: 0

    Maximum length: 32767

    The default is an empty string.
    Node encoding Specify the type of encoding that the WCF-NetTcpRelay receive adapter uses to decode for the node identified by the body path expression in the Body path expression text box. This property is required if the Path -- content located by body path option is selected. Valid values include the following:

    - Base64: Base64 encoding.

    - Hex: Hexadecimal encoding.

    - String: Text encoding - UTF-8

    - XML: The WCF adapters create the BizTalk message body with the outer XML of the node selected by the body path expression in the Body path expression text box.

    The default is XML.
    Body -- BizTalk response message body Use the BizTalk message body part to create the content of the SOAP Body element of an outgoing response message. This property is valid only for request-response receive locations.

    This is the default setting.
    Template -- content specified by template Use the template supplied in the XML text box to create the content of the SOAP Body element for an outgoing message. This property is valid only for request-response receive locations.

    The default value is cleared.
    XML Type the XML-formatted template for the content of the SOAP Body element of an outgoing message. This property is required if the Template -- BizTalk response message body option is selected. This property is valid only for request-response receive locations.

    Type: String

    Minimum length: 0

    Maximum length: 32767

    The default is <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"\>.
    Suspend request message on failure Specify whether to suspend the request message that fails inbound processing due to a receive pipeline failure or a routing failure.

    The default value is cleared.
    Include exception detail in faults Specify whether to return SOAP faults when an error occurs to easy debugging.

    The default value is cleared.
  9. Click OK.

  10. Enter the appropriate values in the Receive Location Properties dialog box to complete the configuration of the receive location and click OK to save settings. For information about the Receive Locations Properties dialog box, see How to Create a Receive Location.

Create the send port

  1. In the BizTalk Administration console, create a new send port or double-click an existing send port to modify it. For more information, see How to Create a Send Port. Configure all of the send port options and specify WCF-NetTcpRelay for the Type option in the Transport section of the General tab.

  2. On the General tab, in the Transport section, click the Configure button.

  3. In the WCF-NetTcpRelay Transport Properties dialog box, on the General tab, specify the following:

    Use this To do this
    Address (URI) Required. Specify the fully qualified URI for the send port. This will typically be in the following format:

    sb://<Namespace>.servicebus.windows.net/

    Maximum length: 255

    Default value: net.tcp://localhost/
    Endpoint Identity Optional. Specify the identity of the endpoint that this send port sends the message to. These settings enable this send port to authenticate the endpoint. In the handshake process between the endpoint and send port, the Windows Communication Foundation (WCF) infrastructure will ensure that the identity of the endpoint matches the values of this element. The values that can be specified for the Endpoint identity property differ according to the security configuration.

    The default value is cleared.
    Action Specify the SOAP Action header field for outgoing messages. This property can also be set through the message context property WCF.Action in a pipeline or orchestration.

    You can specify this value in two different ways: the single action format and the action mapping format. If you set this property in the single action format, for example, http://contoso.com/Svc/Op1, the SOAPAction header for outgoing messages is always set to the value specified in this property. If you set this property in the action mapping format, the outgoing SOAPAction header is determined by the BTS.Operation context property. For example, if this property is set to the following XML format, and the BTS.Operation property is set to Op1, the WCF send adapter uses http://contoso.com/Svc/Op1 for the outgoing SOAPAction header.

    <BtsActionMapping>
    <Operation Name="Op1" Action="http://contoso.com/Svc/Op1" />
    <Operation Name="Op2" Action="http://contoso.com/Svc/Op2" />
    </BtsActionMapping>

    If outgoing messages come from an orchestration port, orchestration instances dynamically set the BTS.Operation property with the operation name of the port. If outgoing messages are routed with content-based routing, you can set the BTS.Operation property in pipeline components.

    Minimum length: 0

    Maximum length: 32767

    The default is an empty string.
  4. In the WCF-NetTcpRelay Transport Properties dialog box, on the Binding tab, configure the time-out and transaction properties.

    Use this To do this
    Open timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a channel open operation to complete. This value should be greater than or equal to System.TimeSpan.Zero.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Send timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a send operation to complete. This value should be greater than or equal to System.TimeSpan.Zero. If you use a solicit-response send port, this value specifies a time span for the whole interaction to complete, even if the service returns a large message.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Close timeout (hh:mmss) Specify a time span value that indicates the interval of time provided for a channel close operation to complete. This value should be greater than or equal to System.TimeSpan.Zero.

    Default value: 00:01:00

    Maximum value: 23:59:59
    Maximum received message size (bytes) Specify the maximum size, in bytes, for a message including headers, which can be received on the wire. The size of the messages is bounded by the amount of memory allocated for each message. You can use this property to limit exposure to denial of service (DoS) attacks.

    The WCF-NetTcpRelay adapter leverages the NetTcpRelayBinding class in the buffered transfer mode to communicate with an endpoint. For the buffered transport mode, the NetTcpRelayBindingBase.MaxBufferSize property is always equal to the value of this property.

    Default value: 65536

    Maximum value: 2147483647
  5. In the WCF-NetTcpRelay Transport Properties dialog box, on the Security tab, define the security capabilities of the WCF-NetTcpRelay send port.

    Use this To do this
    Security mode Specify the type of security that is used. Valid values include the following:

    - None: Messages are not secured during transfer.

    - Transport: Transport security is provided using TLS over TCP or SPNego. It is possible to control the protection level with this mode.

    - Message: Security is provided using SOAP message security. By default, the SOAP Body is encrypted and signed. This mode offers a variety of features, such as whether the service credentials are available at the client out of band, and the algorithm suite to use.

    - TransportWithMessageCredential: Transport security is coupled with message security. Transport security is provided by TLS over TCP, or SPNego, and ensures integrity, confidentiality, and server authentication. SOAP message security provides client authentication. To use this mode, the CA certificate chain for the service's X.509 certificate must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the service can be authenticated to the send port.

    Note: This security mode cannot be used with the Transport client credential type property, None.

    The default is Transport.
    Transport protection level Define security at the level of the TCP transport. Signing messages mitigates the risk of a third party tampering with the message while it is being transferred. Encryption provides data-level privacy during transport. Valid values include the following:

    - None: No protection.

    - Sign: Messages are signed.

    - EncryptAndSign: Messages are encrypted and signed.

    The default value is EncryptAndSign.
    Message client credential type Specify the type of credential to be used when performing client authentication using message-based security. This is required only if the Security mode is set to Message or TransportWithMessageCredential. Valid values include the following:

    - None: This allows the service to interact with anonymous clients. This indicates that this send port does not provide any client credential. The CA certificate chain for the service X.509 certificate must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the service can be authenticated to the send port.

    - Windows: Allow the SOAP exchanges to be under the authenticated context of a Windows credential. The user account under which this send port runs is used for services to authenticate this send port. The client credential is passed through the SOAP Header element using the WSS SOAP Message Security Kerberos Token Profile 1.0 protocol. You must configure the User principal name property to the user account name running the destination service by using the Identity Editor dialog box.

    - UserName: This send port is authenticated to services with a UserName credential. The credential is passed through the SOAP Header element using the WSS SOAP Message Security UsernameToken Profile 1.0 protocol. This option requires configuring the Client credentials property. The CA certificate chain for the service X.509 certificate must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the service can be authenticated to the send port.

    - Certificate: This send port is authenticated to services using the client certificate specified through the Client certificate - Thumbprint property. The credential is passed through the SOAP Header element using the WSS SOAP Message Security X509 Token Profile 1.0 protocol. The CA certificate chain for the service X.509 certificate must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the service can be authenticated to the send port.

    The default is Windows.
    Algorithm suite Specify the message encryption and key-wrap algorithms. These algorithms map to those specified in the Security Policy Language (WS-SecurityPolicy) specification. Possible values are:

    - Basic128: Use Aes128 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic128Rsa15: Use Aes128 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic128Sha256: Use Aes256 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic128Sha256Rsa15: Use Aes128 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - Basic192: Use Aes192 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic192Rsa15: Use Aes192 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic192Sha256: Use Aes192 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic192Sha256Rsa15: Use Aes192 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - Basic256: Use Aes256 encryption, Sha1 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic256Rsa15: Use Aes256 for message encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - Basic256Sha256: Use Aes256 for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - Basic256Sha256Rsa15: Use Aes256 for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    - TripleDes: Use TripleDes encryption, Sha1 for message digest, Rsa-oaep-mgf1p for key wrap.

    - TripleDesRsa15: Use TripleDes encryption, Sha1 for message digest, and Rsa15 for key wrap.

    - TripleDesSha256: Use TripleDes for message encryption, Sha256 for message digest, and Rsa-oaep-mgf1p for key wrap.

    - TripleDesSha256Rsa15: Use TripleDes for message encryption, Sha256 for message digest, and Rsa15 for key wrap.

    The default value is Basic256.
    Client certificate -Thumbprint Specify the thumbprint of the X.509 certificate for authenticating this send port to a service. The thumbprint can be selected by navigating the My store in the Current User location with the Browse button.

    Note: You must install the client certificate into the Current User location of the user account for the send handler hosting this send port.

    Minimum length: 0

    Maximum length: 40

    The default is an empty string.
    User name credentials Specify the credentials for sending messages when using UserName for the Message client credential type property. You can specify the property by clicking the Edit Credentials button.

    The default value is Do not use Single Sign-On.
    Use ACS service identity Applies to BizTalk Server 2013 R2 and BizTalk Server 2013.

    Select this checkbox and click Edit and provide the following values to authenticate with the Service Bus.

    - Access Control Service STS Uri – Set this to https://<Namespace>-sb.accesscontrol.windows.net/, where <namespace> is your Service Bus namespace.

    - Issuer Name – Specify the issuer name. Typically this is set to owner.

    - Issuer Key – Specify the issuer key.
    Service Bus connection information New starting with BizTalk Server 2016.

    Choose to use the Shared Access Signature (SAS) or Access Control Service (ACS) of the Service Bus namespace.

    Select an option, and then select Edit to enter the key information:

    - Shared Access Signature : Enter the access key name, and the access key. Both values are listed in the Azure portal.
    - Access Control Service : Enter the STS URI (https://<yourNamespace>-sb.accesscontrol.windows.net/), Issuer name, and Issuer key. Use Windows PowerShell to retrieve these values, as described in SB-Messaging adapter.
  6. In the WCF-NetTcpRelay Transport Properties dialog box, on the Messages tab, specify the data selection for the SOAP Body element.

    Use this To do this
    Body -- BizTalk request message body Use the BizTalk message body part to create the content of the SOAP Body element for an outgoing message.

    This is the default setting.
    Template -- content specified by template Use the template supplied in the XML text box to create the content of the SOAP Body element for an outgoing message.

    The default value is cleared.
    XML Type the XML-formatted template for the content of the SOAP Body element of an outgoing message. This property is required if the Template -- BizTalk response message body option is selected.

    Type: String

    Minimum length: 0

    Maximum length: 32767

    The default is <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/>
    Envelope -- entire <soap:Envelope> Create the BizTalk message body part from the entire SOAP Envelope of an incoming. This property is valid only for solicit-response ports.

    The default value is cleared.
    Body -- contents of <soap:Body> element Use the content of the SOAP Body element of an incoming message to create the BizTalk message body part. If the Body element has more than one child element, only the first element becomes the BizTalk message body part. This property is valid only for solicit-response ports.

    This is the default setting.
    Path -- content located by body path Use the body path expression in the Body path expression text box to create the BizTalk message body part. The body path expression is evaluated against the immediate child element of the SOAP Body element of an incoming message. This property is valid only for solicit-response ports.

    The default value is cleared.
    Body path expression Type the body path expression to identify a specific part of an incoming message used to create the BizTalk message body part. This body path expression is evaluated against the immediate child element of the SOAP Body node of an incoming message. If this body path expression returns more than one node, only the first node is chosen for the BizTalk message body part. This property is required if the Path -- content located by body path option is selected. This property is valid only for solicit-response ports.

    Type: String

    Minimum length: 0

    Maximum length: 32767

    The default is an empty string.
    Node encoding Specify the type of encoding that the WCF-NetTcpRelay send adapter uses to decode for the node identified by the body path expression in the Body path expression text box. This property is required if the Path -- content located by body path option is selected. This property is valid only for solicit-response ports. Valid values include the following:

    - Base64: Base64 encoding.

    - Hex: Hexadecimal encoding.

    - String: Text encoding - UTF-8

    - XML: The WCF adapters create the BizTalk message body with the outer XML of the node selected by the body path expression in the Body path expression text box.

    The default is XML.
    Propagate fault message Select this check box to route the message that fails outbound processing to a subscribing application (such as another receive port or orchestration schedule). Clear the check box to suspend failed messages and generate a negative acknowledgment (NACK). This property is valid only for solicit-response ports.

    The default value is selected.
  7. Click OK and OK again to save settings.

Set MaxConnections in the handler

  1. In the BizTalk Server Administration Console, expand BizTalk Server Administration, expand BizTalk Group, expand Platform Settings, and then expand Adapters.

  2. In the adapter list, select WCF-NetTcpRelay, and then select the send or receive handler.

  3. In Adapter Handler Properties, on the General tab, select Properties.

  4. In the handler tab:

    Use this To do this
    Maximum connections Specify the maximum number of inbound connections (receive handler) and outbound connections (send handler) for each endpoint that is cached in the connection pool. This limits the number of connections that are cached for each unique remote endpoint. You should set this value to be greater than the maximum number of connections that you expect to be cached for any unique remote endpoint. If the number of active connections exceeds this maximum value, then the service may appear unresponsive to the WCF-NetTcpRelay send ports running under this send hander.

    The default is 10.
  5. Select OK to save your changes.

See also

SB-Messaging adapter

Using Adapters