Registrieren eines Adapters

Wenn Sie einen benutzerdefinierten Adapter entwickeln, können Sie ihn bei BizTalk Server registrieren, indem Sie eine der Registrierungsdateien ändern und ausführen, die im Beispieldateiadapter im Software Development Kit (SDK) enthalten sind. Eine andere Möglichkeit ist die Verwendung des Adapterregistrierungs-Assistenten, um eine Registrierungsdatei zu erstellen. Dieser Assistent befindet sich im Ordner \Programme (x86)\Microsoft BizTalk Server <VERSION>Utilities\AdapterRegistryWizard.

Wichtig

  • Auf einem 32-Bit-Computer muss die vom Adapterregistrierungs-Assistenten generierte Registrierungsdatei (REG-Datei) über die Eingabeaufforderung ausgeführt werden.
    • Auf einem 64-Bit-Computer muss die vom Adapterregistrierungs-Assistenten generierte Registrierungsdatei (REG-Datei) über die 32-Bit- und die 64-Bit-Eingabeaufforderung ausgeführt werden.

Nach dem Erstellen der Registrierungseinträge können Sie den Adapter in der BizTalk Server-Verwaltungskonsole oder programmgesteuert mithilfe von Methoden der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) hinzufügen. In diesem Thema werden die einzelnen Registrierungseinträge erläutert, und es wird beschrieben, wie die vorhandenen Registrierungsdateien für Ihren benutzerdefinierten Adapter bearbeitet werden können.

Anweisungen zur Verwendung des Assistenten für die Adapterregistrierung finden Sie unter Adapterregistrierungs-Assistent. Anweisungen zum Ändern der im SDK enthaltenen Beispielregistrierungsdateien finden Sie unter Adapterregistrierungsdatei.

Registrierungsschlüssel

Zum Bereitstellen eines Adapters müssen die folgenden Registrierungseinträge erstellt werden:

Speicherort des Registrierungsschlüssels

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

Typname

Der Typname gibt den Typ des Adapters auf dem BizTalk Server-Computer an. Dieser Schlüssel ist für jeden Adapter erforderlich.

"TransportType"="MyTransportAdapter"  
  

Einschränkungen

Mit den Einschränkungen werden die Funktionen des Adapters bestimmt.

Dieser Schlüssel ist für jeden Adapter erforderlich. Je nach Typ des zu erstellenden Adapters können Sie den Bitmaskenwert der Einschränkungen ändern.

"Constraints"=dword:00003C0b  

Der Wert, mit dem die Funktionen des Adapters beschrieben werden, kann eine Kombination der in der folgenden Tabelle dargestellten Werte sein.

Wert Farbtonwert Flag Beschreibung
1 0x0001 eProtocolSupportsReceive Adapter unterstützt Empfangsvorgänge.
2 0x0002 eProtocolSupportsTransmit Adapter unterstützt Sendevorgänge.
8 0x0008 eProtocolReceiveIsCreatable Der Empfangshandler des Adapters befindet sich auf einem Host vom Typ "In-Process".
128 0x0080 eProtocolSupportsRequestResponse Adapter unterstützt Vorgänge vom Typ "Anforderungsantwort".
256 0x0100 eProtocolSupportsSolicitResponse Adapter unterstützt Vorgänge vom Typ "Antwort anfragen".
1024 0x0400 eOutboundProtocolRequiresContextInitialization Zeigt an, dass der Adapter zum Konfigurieren des Sendehandlers die Benutzeroberfläche des Adapterframeworks verwendet.
2048 0x0800 eInboundProtocolRequiresContextInitialization Zeigt an, dass der Adapter zum Konfigurieren des Empfangshandlers die Benutzeroberfläche des Adapterframeworks verwendet.
4096 0x1000 eReceiveLocationRequiresContextInitialization Gibt an, dass der Adapter die Adapter Framework-Benutzeroberfläche für die Konfiguration des Empfangsspeicherorts verwendet.
8192 0x2000 eTransmitLocationRequiresContextInitialization Gibt an, dass der Adapter die Adapter Framework-Benutzeroberfläche für die Konfiguration des Sendeports verwendet.
16384 0x4000 eSupportsOrderedDelivery Zeigt an, dass der Adapter die geordnete Übermittlung von Nachrichten unterstützt.
32768 0x8000 eInitTransmitterOnServiceStart Der Sendeadapter wird zusammen mit dem Dienst und nicht erst beim Senden der ersten Nachricht gestartet.
65536 0x10000 eSupport32BitOnly Zeigt an, dass der Adapter nur die Ausführung auf 32-Bit-Hosts unterstützt.

Namespace

Für jeden Adapter muss ein Namespace für die zugehörigen Eigenschaften definiert werden. BizTalk Server speichert adapterspezifische Eigenschaften im Nachrichtenkontext unter diesem Namespace. Diese Eigenschaft ist für alle Adapter erforderlich.

"PropertyNameSpace"="namespace"  

Aliase

Jeder Adapter kann über einen Satz von Präfixen verfügen, mit denen der Adaptertyp innerhalb BizTalk Server eindeutig identifiziert wird. Beim Senden einer Nachricht über einen dynamischen Sendeport wird dadurch die Auflösung des richtigen Transporttyps ermöglicht. Bei der Registrierung muss vom Adapter die Liste zugehöriger Präfixe bereitgestellt werden.

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

Konfigurationseigenschaftenseiten

Der Adapter muss über Konfigurationseigenschaftenseiten verfügen, auf denen zugehörige Empfangsspeicherorte und Sendeports konfiguriert werden können. Die Eigenschaftenseiten werden von jedem Adapter durch Angabe ihrer jeweiligen Klassen-IDs registriert.

"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%}"  

Wenn der Adapter zum Erstellen der Eigenschaftenseiten die Benutzeroberfläche des Adapterframeworks verwendet, müssen für die Registrierungsschlüssel die folgenden Werte angegeben werden:

"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}"  

Wenn einer der Endpunkte nicht benötigt wird (Adapter wird ausschließlich zum Senden oder zum Empfangen verwendet), können die nicht verwendeten Registrierungsschlüssel aus der Registrierung gelöscht werden.

Registrieren der Laufzeitkomponente

Die zugehörigen Laufzeitkomponenten zum Empfangen und Senden werden vom Adapter durch Angabe ihrer Klassen-IDs (COM und .NET), Typennamen und Assemblypfade (.NET) registriert.

Hinweis

Alle Schlüssel "OutboundEngineCLSID " und "InboundEngineCLSID " müssen eindeutig sein. Bei einer einzelnen Zeile in einer Datenbank können die OutboundEngineCLSID und die InboundEngineCLSID identisch sein.

"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"  

Hinweis

Sie können die Assembly eines Adapters im globalen Assemblycache installieren und in der Registrierungsdatei auf sie verweisen.

Registrieren von Adaptereigenschaften für den SSO-Konfigurationsspeicher

Zugehörige Eigenschaften müssen vom Adapter in der SSO-Datenbank von BizTalk Server registriert werden, damit sie zur Entwurfs- und Laufzeit gespeichert und abgerufen werden können.

ReceiveHandlerPropertiesXML  
ReceiveLocationPropertiesXML  
SendHandlerPropertiesXML  
SendLocationPropertiesXML  

Diese Werte enthalten die Definitionen (Schema) für die zulässigen Eigenschaften der jeweiligen Entitäten, die dem Adapter zugeordnet sind und die im Konfigurationsspeicher gespeichert werden können. Diese Definitionen werden als XML-Zeichenfolge gespeichert, die durch die Eigenschaftensammlung deserialisiert wird, welche Eigenschaftentypen ohne Werte enthält. Ein nicht leerer Wert des Eigenschaftenelements bedeutet, dass die Eigenschaft maskiert ist. (Maskiert bedeutet, dass es sich um eine Nur-Schreiben-Eigenschaft handelt, die von der API Sicherer Speicher beim Aufruf im Verwaltungsmodus nicht zurückgegeben wird. Von der API Sicherer Speicher wird für solche Eigenschaften VT_NULL zurückgegeben.)

Beispiel

Der HTTP-Adapter registriert seine Eigenschaften für den HTTP-Sendeport, indem er den SendLocationPropertiesXML-Registrierungsschlüssel mit dem folgenden Wert definiert:

<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>  

Registrieren der Komponente als Transportanbieter

Der Adapter muss in der Registrierung unter seinem Attribut Implementierte Kategorien als Transportanbieter registriert sein. Mit diesem Attribut werden die Merkmale des Adapters gegenüber seinen Consumern identifiziert.

[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}]  

Weitere Informationen

Probleme beim Adapterentwurf