How to Configure an HTTP Send Port
You can configure an HTTP send port either programmatically or by using the BizTalk Server Administration console.
Configure an HTTP send port programmatically
The HTTP adapter stores its configuration information in the BizTalk Management database (also known as the Configuration database). You store configuration information in a custom XML property bag. During initialization of the HTTP adapter and during its run time, the server passes the configuration to the adapter as follows:
For the HTTP send handler, configuration information passes to the adapter by calling the Load method of the IPersistPropertyBag interface.
For the HTTP send ports, configuration information passes to the adapter as a set of properties on a message context. The HTTP namespace groups these properties together.
The BizTalk Explorer object model exposes the
ItransportInfo
adapter configuration interface for send ports, which contains theTransportTypeData
read/write property. This property accepts the HTTP send port configuration property bag as a name/value pair XML string. Note that to set this property in the BizTalk Explorer object model, it must first be set on theAddress
property of the ITransportInfo interface.Setting the TransportTypeData property of the ITransportInfo interface is not required. If it is not set, the HTTP adapter will use the default values for the HTTP send handler.
If send port configuration properties that duplicate the configuration for the handler are not defined, configuration properties for the handler are used. If the HTTP send handler does not have configuration values, the HTTP send adapter logs an error in the event log and moves the message to the backup adapter.
You can set configuration properties programmatically on a message context. You can set these properties in a BizTalk Server orchestration schedule or in custom pipeline components. The following rules apply when using these properties:
If the configuration property is set on an orchestration or in a custom pipeline component in a receive pipeline, then:
If a message is sent to a static send port, the property value will be overwritten with the value configured for that send port.
If a message is sent to a dynamic send port, the property value will not be overwritten.
If the configuration property is set in a custom pipeline component in a send pipeline, then:
- The value will not be overwritten regardless of whether the message is sent to a static or dynamic send port.
The following table lists the configuration properties that you can set in the BizTalk Explorer object model for the HTTP send location.
Property name | Type | Description | Restrictions | Comments |
---|---|---|---|---|
RequestTimeout | xs:int | Time-out period of waiting for a response from the server. If set to zero (0), the system calculates the time-out based on the request message size. | Minimum value: 0 Maximum value: MAX_LONG |
Default value: 0 |
ContentType | xs:string | Content type of the request messages | Minimum length: 0 Maximum length: 256 |
Default value: Text/XML |
MaxRedirects | xs:int | Maximum number of times that the HTTP adapter can redirect the request. | Minimum value: 0 Maximum value: 10 |
Default value: 5 |
UseHandlerProxySettings | xs:boolean | Specifies whether the HTTP send port will use the proxy configuration for the send handler. | None | Default value: True When true, the send port will use the proxy settings specified at the handler level. When false, the send adapter will use the proxy information specified on the send port. |
UseProxy | xs:boolean | Specifies whether the HTTP adapter will use the proxy server. The proxy server can be shared by all HTTP send ports. | None | Default value: False This property is ignored if UseHandlerProxySettings is True. |
ProxyName | xs:string | Specifies the proxy server name. | Minimum length: 0 Maximum length: 256 |
Default value: Empty The HTTP send adapter ignores this property if the UseHandlerProxySettings property is set to True. Otherwise, the HTTP send adapter uses this property only if UseProxy is True. This property is required if UseProxy is True. |
ProxyPort | xs:int | Specifies the proxy server port. | Minimum value: 0 Maximum value: 65535 |
Default value: 80 The HTTP send adapter ignores this property if UseHandlerProxySettings is True. Otherwise, HTTP send adapter uses this property only if UseProxy is True. This property is required if UseProxy is True. |
ProxyUsername | xs:string | Specifies the user name for authentication with the proxy server. | Minimum length: 0 Maximum length: 256 |
Default value: empty The HTTP send adapter ignores this property if UseHandlerProxySettings is True. Otherwise, HTTP send adapter uses this property only if UseProxy is True. |
ProxyPassword | xs:string | Specifies the user password for authentication with the proxy server. | Minimum length: 0 Maximum length: 256 |
Default value: empty The HTTP send adapter ignores this property if UseHandlerProxySettings is True. Otherwise, HTTP send adapter uses this property only if UseProxy is True. |
AuthenticationScheme | xs:string | Type of authentication to use with the destination server. | None | Valid values: - Anonymous (Default) - Basic - Digest - Kerberos |
Username | xs:string | User name to use for authentication with the server. | Minimum length: 0 Maximum length: 256 |
Default value: Empty This value is required if you select Basic or Digest authentication. The HTTP adapter ignores the value of this property if UseSSO is True. |
Password | xs:string | User password to use for authentication with the server. | Minimum length: 0 Maximum length: 256 |
Default value: empty This value is required if you select Basic or Digest authentication. The value of this property is ignored if UseSSO is True. |
EnableChunkedEncoding | xs:boolean | Specifies whether or not chunked encoding is used by the HTTP adapter | None | Default value: True |
Certificate | xs:string | Thumbprint of the client SSL certificate. | Minimum length: 0 Maximum length: 59 |
Default value: Empty |
UseSSO | xs:boolean | Specifies if SSO will be used for the send port. | None | Default value: False |
AffiliateApplicationName | xs:string | Name of the affiliate application to use for SSO. | Minimum length: 0 Maximum length: 256 |
Default value: empty Required if UseSSO is True. |
The following code shows the XML string to use to set these properties:
<CustomProps>
<ContentType vt="8">text/xml</ContentType>
<RequestTimeout vt="3">0</RequestTimeout>
<MaxRedirects vt="3">5</MaxRedirects>
<UseHandlerProxySettings vt="8">-1</UseHandlerProxySettings>
<UseProxy vt="8">-1</UseProxy>
<ProxyName vt="8">sdfsd</ProxyName>
<ProxyPort vt="3">80</ProxyPort>
<ProxyUsername vt="8">Somename</ProxyUsername>
<ProxyPassword vt="8">Somepassword</ProxyPassword>
<AuthenticationScheme vt="8">Basic</AuthenticationScheme>
<Username vt="8">Somename</Username>
<Password vt="8">Somepassword</Password>
<EnableChunkedEncoding vt="11">1</EnableChunkedEncoding>
<Certificate vt="8">AAAA BBBB CCCC DDDD</Certificate>
<UseSSO vt="11">0</UseSSO>
<AffiliateApplicationName vt="8">Name</AffiliateApplicationName>
</CustomProps>
Configure an HTTP send port with the BizTalk Server Administration console
You can set HTTP send port adapter variables in the BizTalk Server Administration console. If properties are not set for the send port, the default send handler values set in the BizTalk Server Administration console are used.
Note
The configuration properties described in this topic are common for both one-way and request-response HTTP send ports.
In the BizTalk Server Administration console, create a new send port or double-click an existing send port to modify it. See How to Create a Send Port for more information. Configure all of the send port options and specify HTTP for the Type option in the Transport section on the General tab.
On the General tab, in the Transport section, click the Configure button next to Type.
In the HTTP Transport Properties dialog box, on the General tab, do the following:
Use this To do this Destination URL Required. Specify the address to send HTTP requests. Include query strings appended to the base URL.
Type: String
Maximum length: 256
For more information, see Restrictions on the Destination URL Property. Note: The URI for a send port or receive location cannot exceed 256 characters.Enable chunked encoding Specify to use chunked encoding. If this option is enabled, the HTTP adapter will use HTTP chunked encoding with maximum chunk size of 8 KB. Chunked encoding is implicitly disabled if the HTTP send handler is configured to Use proxy.
Type: Boolean
Default Value: TrueRequest timeout (sec) Specify the time-out in seconds for the HTTP/HTTPS transmission. If the HTTP adapter does not receive the response within this time, the service logs the error and resubmits the message based on the retry infrastructure.
If set to zero (0), the BizTalk Messaging Engine calculates the time-out based on the request message size. If you do not provide a value, the value for the handler is used.
Type: Long
Minimum value: 0
Maximum value: MAX_LONGMaximum redirects Specify the maximum redirects allowed for the message being sent.
Default value: 5
Type: Int
Minimum value: 0
Maximum value: 10Content type Specify the content type of the request messages.
If this value is not set, the value for the handler is used.
Type: String
Minimum length: 0
Maximum length: 256In the HTTP Transport Properties dialog box, on the Proxy (Handler override) tab, do the following:
Use this To do this Use Handler's default proxy configuration Specify that the send port configuration must use the proxy settings specified for the HTTP send handler.
This is the default setting.Do not use proxy Specify whether the HTTP send handler uses the proxy server.
If selected, the HTTP send handler for this send port does not use the proxy server.Use proxy Specify whether the HTTP send handler uses the proxy server.
If selected, the HTTP send handler uses the proxy server.Server Specify the proxy server address for this send port.
This property only requires a value if Use proxy is selected.
Type: String
Minimum length: 0
Maximum length: 256Port Specify the proxy server port for this send port.
This property only requires a value if Use proxy is selected.
Default Value: 80
Type: Long
Minimum value: 0
Maximum value: 65535User name Specify the user name for authentication with the proxy server.
This property only requires a value if Use proxy is selected.
Type: String
Minimum length: 0
Maximum length: 256Password Specify the user password for authentication with the proxy server.
This property only requires a value if Use proxy is selected.
Type: String
Minimum length: 0
Maximum length: 256In the HTTP Transport Properties dialog box, on the Authentication tab, do the following:
Use this To do this Authentication Type Specify the type of authentication to use with the destination server.
Valid options are:
- Anonymous
- Basic
- Digest
- Kerberos
Default Value: AnonymousCredentials Specify the type of credentials to use.
Only available if the Authentication Type is Basic or Digest.
Valid options are:
- Do Not Use Single Sign-On
User name:
The user name to use for authentication with the destination server. If the Authentication Type property is Anonymous or Kerberos, this option is disabled. This property requires a value if Basic or Digest is selected, and Enterprise Single Sign-On is not used.
Minimum length: 0
Maximum length: 256
Password:
The password to use for authentication with the destination server. If the Authentication Type property is Anonymous or Kerberos, this option is disabled. This property requires a value if Basic or Digest is selected, and Single Sign-On is not used.
Minimum length: 0
Maximum length: 256
- Use Single Sign-On
Specify whether to use Single Sign-On to retrieve client credentials for authentication with the destination server.
Affiliate Application
Specifies the affiliate application to use for Single Sign-On.
Choose the applications that you want to include in Single Sign-On.
Minimum length: 0
Maximum length: 256SSL client certificate thumbprint Specify the thumbprint of the client certificate to use for establishing a Secure Sockets Layer (SSL) connection.
Minimum length: 0
Maximum length: 59Click OK and OK again to save settings.