WCF-BasicHttp Adapter

Microsoft BizTalk Server uses the WCF-BasicHttp adapter to receive and send WCF service requests through the BasicHttpBinding class. The WCF-BasicHttp adapter enables you to publish orchestrations and schemas as WCF services and to consume external WCF services with the BasicHttpBinding.

You can use the WCF-BasicHttp adapter to do cross-computer communication with legacy ASMX-based Web services and clients that conform to the WS-I Basic Profile 1.1, using either the HTTP or HTTPS transport with text encoding. However, you will not be able to take advantage of features that are supported by WS-* protocols.

The following table summarizes the characteristics of the WCF-BasicHttp adapter:

Description Characteristic
Interoperability level Basic Profile
Message encoding Text or MTOM
Boundary Cross-computer
Transport protocol HTTP or HTTPS
Security mode None, Message, Transport, TransportWithMessageCredential, and TransportCredentialOnly
Client authentication mechanism Transport Security and Message Security
Support for WS-ReliableMessaging No
Support for WS-AtomicTransaction No
Support for one-way messaging Yes
Support for two-way messaging Yes
Host type for receive adapter Isolated
Host type for send adapter In-process

The WCF-BasicHttp adapter consists of two adapters — a receive adapter and a send adapter.

This topic shows you how to create the receive location and send port using BizTalk Administration. You can also create the receive location and send port programmatically.

Before you begin

  • Starting with BizTalk Server 2016, this send 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.

  • The WCF-BasicHttp adapter is preferred over the SOAP adapter in the following scenarios:

    • WCF adapters documents-per-second rate is generally better than SOAP adapter.
    • SOAP adapter has the disadvantage of serializing and deserializing messages between .NET types and raw XML data; which in some cases could result in unwanted data modification. WCF adapters take the approach of preserving the data stream.
    • WCF adapters publish what is essentially the same schema as will be used in the BizTalk runtime. In contrast, SOAP adapter returns metadata generated by reflecting on the .NET classes generated to represent the schemas. Since .NET does not preserve all the nuances of XSD schemas, the exposed WSDL may not accurately reflect the schemas used by the BizTalk runtime.
    • It is easier to migrate from WCF-BasicHttp to WCF-WSHttp, if needed.
  • You use the WCF-BasicHttp receive adapter to receive WCF service requests through the HTTP or HTTPS protocol. You use the WCF-BasicHttp send adapter to call a WCF service through the typeless contract by using the HTTP or HTTPS protocol.

Create the receive location

This receive location can be configured as one-way or request-response (two-way).

Note

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

You can also create the receive location programmatically.

  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 next to Type, select WCF-BasicHttp from the drop-down list, and then click Configure.

  5. In WCF-BasicHttp Transport Properties, on the General tab, configure the endpoint address and the service identity for the WCF-BasicHttp receive location:

    Note

    If you use Transport or TransportWithMessageCredential for the Security mode, you must set up Secure Sockets Layer (SSL) in Microsoft Internet Information Services (IIS).

    Use this To do this
    Address (URI) Required. Specify the URI for this receive location. Specify the virtual directory plus the .svc file name that the BizTalk WCF Service Publishing Wizard generates—for example, /path/service.svc.

    Default value: /

    Minimum length: 1

    Maximum length: 255
    Endpoint Identity Optional. Specify the identity of the service that this receive location provides by clicking the Edit button. The values that can be specified for the Endpoint Identity property differ according to the security configuration. These settings enable the client to authenticate this receive location. In the handshake process between the client and service, the Windows Communication Foundation (WCF) infrastructure will ensure that the identity of the expected service matches the values of this element.

    The default is an empty string.

    Minimum length: 0

    Maximum length: 32767
  6. In the WCF-BasicHttp Transport Properties dialog box, on the Binding tab, configure the time-out and encoding 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-BasicHttp adapter leverages the BasicHttpBinding class in the buffered transfer mode to communicate with an endpoint. For the buffered transport mode, the BasicHttpBinding.MaxBufferSize property is always equal to the value of this property.

    Default value: 65536

    Maximum value: 2147483647
    Message encoding Specify the encoder used to encode the SOAP message. Valid values include the following:

    - Text: Use a text message encoder.
    - Mtom: Use a Message Transmission Organization Mechanism 1.0 (MTOM) encoder.

    The default is Text.
    Text encoding Specify the character set encoding to be used for emitting messages on the binding when the Message encoding property is set to Text. Valid values include the following:

    - utf-16BE (unicodeFFFE): Unicode BigEndian encoding.
    - utf-16: 16-bit encoding.
    - utf-8: 8-bit encoding

    The default is utf-8.
    Max 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.

    The default is 200
  7. In the WCF-BasicHttp Transport Properties dialog box, on the Security tab, define the security capabilities:

    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: Security is provided using the HTTPS transport. The SOAP messages are secured using HTTPS. To use this mode, you must set up Secure Sockets Layer (SSL) in Microsoft Internet Information Services (IIS).
    - Message: Security is provided using SOAP message security over the HTTP transport. By default, the SOAP Body is encrypted and signed. The only valid Message client credential type for the WCF-Basic adapter is Certificate. This mode requires the HTTP transport. When using this security mode, the service certificate for this receive location needs to be provided through the Service certificate - Thumbprint property.
    - TransportWithMessageCredential: Integrity, confidentiality, and service authentication are provided by the HTTPS transport. To use this mode, you must set up Secure Sockets Layer (SSL) in Microsoft Internet Information Services (IIS).
    - TransportCredentialOnly: This mode does not provide message integrity and confidentiality. It provides HTTP-based client authentication. This mode should be used with caution. It should be used in environments where the transport security is provided by other means (such as IPSec) and only client authentication is provided by the WCF infrastructure. If you select Certificate for the Transport client credential type property in this security mode, the service certificate for this receive location needs to be provided through the Service certificate - Thumbprint property.

    The default is None.
    Transport client credential type Specify the type of credential to be used when performing the client authentication. Valid values include the following:

    - None: No authentication occurs at the transport level.
    - Basic: Basic authentication. In Basic authentication, user names and passwords are sent in plain text over the network. You must create the domain or local user accounts corresponding to the credentials.
    - Digest: Digest authentication. This authentication method operates much like Basic authentication, except that passwords are sent across the network as a hash value for additional security. Digest authentication is available only on domains with domain controllers running Windows Server operating systems authentication. You must create the domain or local user accounts corresponding to client credentials.
    - Ntlm: NTLM authentication. Clients can send the credentials without sending a password to this receive location. You must create the domain or local user accounts corresponding to client credentials.
    - Windows: Windows integrated authentication. Windows Communication Foundation negotiates Kerberos or NTLM, preferring Kerberos if a domain is present. If you want to use Kerberos it is important to have the client identify the service with a service principal name (SPN). You must create the domain or local user accounts corresponding to client credentials.
    - Certificate: Client authentication using the client certificate. The CA certificate chain for the client X.509 certificates must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the clients can be authenticated to this receive location. Note: The Transport client credential type property must match the authentication scheme of the IIS virtual directory hosting this receive location. For example, if the property is set to Windows, you also need to enable Integrated Windows authentication for the virtual directory that hosts it. Similarly if the property is set to None, you must allow anonymous access to the virtual directory that hosts this receive location.

    The default is None.
    Message client credential type Specify the type of credential to be used when performing client authentication using message-based security. Valid values include the following:

    - UserName: Allow this receive location to require that clients be authenticated using the UserName credential. You must create the domain or local user accounts corresponding to the client credentials.
    - Certificate: Clients are authenticated to this receive location using the client certificate. The CA certificate chain for the client X.509 certificates must be installed in the Trusted Root Certification Authorities certificate store of this computer so that the clients can be authenticated to this receive location.

    The default is UserName.
    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.
    Use Single Sign-On Use Single Sign-On to retrieve client credentials to issue an SSO ticket. This option is valid only for the security configurations listed in the following section, "Enterprise Single Sign-On Supportability for the WCF-BasicHttp Receive Adapter."

    The default value is cleared.

    Enterprise Single Sign-On Supportability for the WCF-BasicHttp Receive Adapter This adapter can issue an SSO ticket from the SSO server only in the security configurations shown in the following table:

    Security mode Transport client credential type Message client credential type
    Transport Basic N/A
    Transport Digest N/A
    Transport Ntlm N/A
    Transport Windows N/A
    Transport Certificate N/A
    Message N/A UserName
    TransportWithMessageCredential N/A UserName
    TransportCredentialOnly Basic N/A
    TransportCredentialOnly Digest N/A
    TransportCredentialOnly Ntlm N/A
    TransportCredentialOnly Windows N/A
    TransportCredentialOnly Certificate N/A
  8. In the WCF-BasicHttp 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-BasicHttp receive adapter uses to decode 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.

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-BasicHttp 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 next to Type.

  3. In the WCF-BasicHttp Transport Properties dialog box, on the General tab, configure the endpoint address, the service identity, and the SOAPAction HTTP header for the WCF-BasicHttp send port:

    Note

    If you specify the https scheme for the Address (URI) property, you must configure the Security mode property to Transport or TransportWithMessageCredential. You can use the Security tab to configure the Security mode property.

    Use this To do this
    Address (URI) Required. Specify the fully qualified URI for this send port. Use the https or the http scheme depending on the security configuration.

    Maximum length: 255

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

    The default value is cleared.
    Action Specify the SOAPAction HTTP 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 comes 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 WCF-BasicHttp Transport Properties, on the Binding tab, configure the time-out and encoding 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 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-BasicHttp adapter leverages the BasicHttpBinding class in the buffered transfer mode to communicate with an endpoint. For the buffered transport mode, the BasicHttpBinding.MaxBufferSize property is always equal to the value of this property.

    Default value: 65536

    Maximum value: 2147483647
    Message encoding Specify the encoder used to encode the SOAP message. Valid values include the following:

    - Text: Use a text message encoder.
    - Mtom: Use a Message Transmission Organization Mechanism 1.0 (MTOM) encoder.

    Default value: Text
    Text encoding Specify the character set encoding to be used for emitting messages on the binding when the Message encoding property is set to Text. Valid values include the following:

    - utf-16BE (unicodeFFFE): Unicode BigEndian encoding.
    - utf-16: 16-bit encoding.
    - utf-8: 8-bit encoding

    Default value: utf-8
  5. In the WCF-BasicHttp Transport Properties dialog box, on the Security tab, define the security capabilities of the WCF-BasicHttp 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: Security is provided using the HTTPS transport. The SOAP messages are secured using HTTPS. 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 using the service's certificate.
    - Message: Security is provided using SOAP message security. By default, the SOAP Body element is encrypted and signed. The only valid Message client credential type for the WCF-BasicHttp send adapter is Certificate. This mode requires the HTTP transport.
    - TransportWithMessageCredential: Integrity, confidentiality, and service authentication are provided by the HTTPS transport. The CA certificate chain for the service's X.509 certificate must be installed in the Trusted Root Certification Authorities certificate store on this computer so that the service can be authenticated to the send port using the service's certificate. The send port authentication is provided by SOAP message security.
    - TransportCredentialOnly: This mode does not provide message integrity and confidentiality. It provides HTTP-based client authentication. This mode should be used with caution. It should be used in environments where the transport security is provided by other means (such as IPSec) and only client authentication is provided by the WCF infrastructure.

    The default is None.
    Transport client credential type Specify the type of credential to be used when performing the send port authentication. Valid values include the following:

    - None: No authentication occurs at the transport level.
    - Basic: Basic authentication. In Basic authentication, user names and passwords are sent in plain text over the network. This option requires configuring the Client credentials property.
    - Digest: Digest authentication. This authentication method operates much like Basic authentication, except that passwords are sent across the network as a hash value for additional security. Digest authentication is available only on domains with domain controllers running Windows Server operating systems authentication. This option requires configuring the Client credentials property.
    - Ntlm: NTLM authentication. The user account under which this send port runs is used for services to authenticate this send port.
    - Windows: Windows integrated authentication. The user account under which this send port runs is used for services to authenticate this send port.
    - Certificate: Client authentication using the client certificate specified through the Client certificate - Thumbprint property. When using this credential type, the service certificate needs to be provided through the Service certificate - Thumbprint property.

    The default is None.
    Message client credential type Specify the type of credential to be used when performing client authentication using message-based security. Valid values include the following:

    - UserName: This send port is authenticated to the service with a UserName credential. For the WCF-BasicHttp send adapter, this is not supported.
    - Certificate: This send port is authenticated to services using the client certificate specified through the Client certificate - Thumbprint property. In addition, when using this credential type, the service certificate needs to be provided through the Service certificate - Thumbprint property.

    The default is UserName.
    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 services. You can select the thumbprint by navigating to 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.
    Service certificate - Thumbprint Specify the thumbprint of the X.509 certificate for authenticating the service to which this send port sends messages. You can select the thumbprint navigating to the Other People store in the Local Machine location with the Browse button.

    Minimum length: 0

    Maximum length: 40

    The default is an empty string.
    User name credentials Specify the credentials for sending messages. You can specify the property by clicking the Edit button. This option is valid only for the security configuration listed in the following section, "Enterprise Single Sign-On Supportability for the WCF-BasicHttp Send Adapter."

    The default value is Do not use Single Sign-On.
    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.

    Enterprise Single Sign-On Supportability for the WCF-BasicHttp Send Adapter The WCF-BasicHttp send adapter can redeem an SSO ticket from the SSO server to obtain the user credential only in the security configurations shown in the following table.

    Security mode Transport client credential type Message client credential type
    Transport Basic N/A
    Transport Digest N/A
    TransportCredentialOnly Basic N/A
    TransportCredentialOnly Digest N/A
    Message N/A UserName
    TransportWithMessageCredential N/A UserName
  6. In the WCF-BasicHttp Transport Properties dialog box, on the Proxy tab, configure the proxy setting for the WCF-BasicHttp send port:

    Use this To do this
    Use Handler's default proxy settings Specify whether this send port uses the proxy settings in the send handler hosting this send port.

    This is the default setting.
    Do not use proxy Indicate whether this send port uses a proxy server.

    The default value is cleared.
    Use proxy Indicate whether this send port uses the proxy server specified in the Address property.

    The default value is cleared.
    Address Specify the address of the proxy server. Use the https or the http scheme depending on the security configuration. This address can be followed by a colon and the port number. For example, http://127.0.0.1:8080.

    This property requires a value only if Use proxy is selected.

    Type: String

    Maximum length: 256

    The default is an empty string.
    User name Specify the user name to use for authentication. If integrated authentication is used, the user name includes the domain, that is, domain\username. If Basic or Digest authentication is used, the user name does not include domain\. This property requires a value only if Use proxy is selected. Note: The WCF-BasicHttp send adapter uses the basic authentication for the proxy.

    Type: String

    Minimum length: 0

    Maximum length: 256

    The default is an empty string.
    Password Specify the password to use for authentication.

    This property requires a value only if Use proxy is selected.

    Type: String

    Minimum length: 0

    Maximum length: 256

    The default is an empty string.
  7. In the WCF-BasicHttp 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 message. 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-BasicHttp 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.

Add a proxy to the send handler

You can add a proxy to the send port, or the send handler. If you are adding a proxy at the send port, then skip this section.

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

  2. Select WCF-BasicHttp, and then double-select the send handler.

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

  4. In the Proxy tab, do the following.

    Use this To do this
    Use proxy Indicate whether this send handler uses a proxy server.

    The default value is cleared.
    Address Specify the address of the proxy server. Use the https or the http scheme depending on the security configuration. This address can be followed by a colon and the port number. For example, http://127.0.0.1:8080.

    This property requires a value only if Use proxy is selected.

    Type: String

    Maximum length: 256

    The default is an empty string.
    User name Specify the user name to use for authentication. If integrated or Basic authentication is used, the user name includes the domain, that is, domain\username. If Digest authentication is used, the user name does not include domain\.

    This property requires a value only if Use proxy is selected.

    Type: String

    Minimum length: 0

    Maximum length: 256

    The default is an empty string.
    Password Specify the password to use for authentication.

    This property requires a value only if Use proxy is selected.

    Type: String

    Minimum length: 0

    Maximum length: 256

    The default is an empty string.
  5. Click OK until you exit all the dialog boxes.

    See also

What Are the WCF Adapters?

SB-Messaging adapter

Using Adapters