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