Click to Rate and Give Feedback
MSDN
MSDN Library
BizTalk Server
BizTalk Server 2004
SDK
Programming Guide
 Adapter Registration

  Switch on low bandwidth view
Microsoft BizTalk Server 2004
Adapter Registration

If you are developing a custom adapter, you can register it with BizTalk Server by modifying and running one of the registry files included with the Sample File Adapter in the Software Development Kit (SDK), or you can use the Adapter Registration Wizard to create a registry file from scratch.

After you create these registry entries, you can add the adapter in the BizTalk Administration console or programmatically by using BizTalk Windows® Management Instrumentation (WMI) methods. This topic discusses each of the registry entries and then shows you where and how to modify the existing registry files for your custom adapter.

For instructions on using the Adapter Registration Wizard, see Adapter Registration Wizard. For instructions on modifying the sample registry files included in the SDK, see Modifying the Adapter Registration File.

Registry keys

You need to create the following registry entries to deploy an adapter:

Registry key location

The location to write to in the registry.

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\BizTalk]
@="BizTalk"

Type name

Adapter type name identifies the type of adapter in the BizTalk Server computer.

"TransportType"="MyTransportAdapter"

This is a required key for any adapter.

Constraints

Adapter constraints define the capabilities of the adapter's functionality.

This is a required key for every adapter. Depending on the type of adapter you are creating, you may want to modify the bitmask value of the constraints.

"Constraints"=dword:00003C0b

The value that describes the capabilities of the adapter can be a combination of values shown in the following table.

Value Hex value Flag Description
1 0x0001 eProtocolSupportsReceive Adapter supports receive operations.
2 0x0002 eProtocolSupportsTransmit Adapter supports send operations.
4 0x0004 eProtocolRequireSingleInstancePerServer Adapter requires a single instance per server.
8 0x0008 eProtocolReceiveIsCreatable Receive handler of adapter is hosted in-process.
16 0x0010 eProtocolIsApplicationProtocol Adapter is application protocol.
32 0x0020 eProtocolDeleteProtected Adapter is delete protected.
64 0x0040 eProtocolStaticHandlers Adapter supports static handlers.
128 0x0080 eProtocolSupportsRequestResponse Adapter supports request-response operations.
256 0x0100 eProtocolSupportsSolicitResponse Adapter supports solicit-response operations.
512 0x0200 eProtocolSupportsSOAP Adapter supports the SOAP protocol.
1024 0x0400 eOutboundProtocolRequiresContextInitialization Adapter uses Adapter Framework user interface for send handler configuration.
2048 0x0800 eInboundProtocolRequiresContextInitialization Adapter uses Adapter Framework user interface for receive handler configuration
4096 0x1000 eReceiveLocationRequiresContextInitialization Adapter uses Adapter Framework user interface for receive location configuration.
8192 0x2000 eTransmitLocationRequiresContextInitialization Adapter uses Adapter Framework user interface for send port configuration.
16384 0x4000 eSupportsOrderedDelivery Adapter supports ordered delivery.
32768 0x8000 eInitTransmitterOnServiceStart Send adapter starts when the service starts instead of when it sends the first message.

The constraint of the sample static file adapter is 3C0b, which is equivalent to 15371. This means the adapter has the following capabilities: eProtocolSupportsReceive (1), eProtocolSupportsTransmit (2), eProtocolReceiveIsCreatable (8), eOutboundProtocolRequiresContextInitialization (1024), eInboundProtocolRequiresContextInitialization (2048), eReceiveLocationRequiresContextInitialization (4096), and eTransmitLocationRequiresContextInitialization (8192).

Namespace

Each adapter must define its properties namespace. BizTalk Server stores adapter-specific properties on the message context under this namespace. This is a required property for all adapters.

"PropertyNameSpace"="namespace"

Aliases

Each adapter may have a set of prefixes that uniquely identify the adapter type within BizTalk Server. The adapter needs to specify the list of its prefixes at registration time. Prefixes must be unique within BizTalk Server.

"AliasesXML"="<AdapterAliasList><AdapterAlias>foo://</AdapterAlias></AdapterAliasList>"

Property pages for receive handlers, send handlers, receive locations and send ports

The adapter must have configuration property pages to configure its receive locations and send ports. Each adapter registers its property pages by specifying their respective class IDs.

"InboundProtocol_PageProv"="{%CLSID for inbound protocol prop page%}"
"OutboundProtocol_PageProv"="{%CLSID for outbound protocol prop page%}"
"ReceiveLocation_PageProv"="{%CLSID for receive location prop page%}"
"TransmitLocation_PageProv"="{%CLSID for transmit location prop page%}"

If the adapter uses the Adapter Framework's user interface for property page generation, it must specify the following values for the registry keys:

"InboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A281}"
"OutboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A283}"
"ReceiveLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A280}"
"TransmitLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A282}"

Note that if one of the endpoints is not required (the adapter is send or receive only), the unused registry keys can be deleted from the registry.

Runtime components registration

The adapter registers its runtime components by specifying their class IDs (for COM and .NET), type names, and assembly paths (for .NET) for receive and transmit runtime components.

Note  All the OutboundEngineCLSID and the InboundEngineCLSID keys must be unique. For a single row in a database, the OutboundEngineCLSID and the InboundEngineCLSID may be the same.

"OutboundEngineCLSID"="{%CLSID of outbound transport%}"
"InboundEngineCLSID"="{%CLSID of inbound transport%}"
"InboundTypeName"="BizTalk.Samples.Adapters.MyReceiver"
"OutboundTypeName"="BizTalk.Samples.Adapters.MyTransmitter"
"InboundAssemblyPath"="C:\Program Files\MyTransport.dll"
"OutboundAssemblyPath"="C:\Program Files\MyTransport.dll"

Registration of adapter properties for SSO configuration store

The adapter needs to register its properties with the BizTalk Server Credential database to be able to store and retrieve the properties at design time and run time.

ReceiveHandlerPropertiesXML
ReceiveLocationPropertiesXML
SendHandlerPropertiesXML
SendLocationPropertiesXML

These values contain the definitions (schema) for the allowed properties of the corresponding entities related to the adapter, which can be stored in the Configuration store. These definitions are kept as an XML string being deserialized by the property bag, with property types, but without values. A nonempty value of the property element means that the property is masked. (Masked means that it is write-only, and is not returned by the Secure Store API when called in administrative mode; the Secure Store API returns VT_NULL for such properties.)

Example

The HTTP adapter registers its properties for the HTTP send port by defining the SendLocationPropertiesXML registry key with the following value:

<CustomProps><Username vt="8"/><Password vt="8">Encrypted</Password><Certificate vt="8"/><RequestTimeout vt="3"/><MaxRedirects vt="3"/><ContentType vt="8"/><UseProxy vt="11"/><ProxyName vt="8"/><ProxyPort vt="3"/><ProxyUsername vt="8"/><ProxyPassword vt="8">Encrypted</ProxyPassword><UseHandlerSetting vt="11"/><AuthenticationScheme vt="8"/><UseSSO vt="11"/><AffiliateApplicationName vt="8"/></CustomProps>

Registration of the component as a transport provider

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories\{7F46FC3E-3C2C-405B-A47F-8D17942BA8F9}]

See Also

Custom Adapter Configuration

To download updated BizTalk Server 2004 Help from www.microsoft.com, go to http://go.microsoft.com/fwlink/?linkid=20616.

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker