Teilen über


Was sind WCF-Adapter?

Es gibt zwei WCF-Adapter (Windows Communication Foundation): Empfangsadapter und Sendeadapter. Mit dem WCF-Empfangsadapter werden WCF-Dienstanforderungen empfangen. Der WCF-Empfangsadapter empfängt eine Anforderung, erstellt ein BizTalk-Nachrichtenobjekt und stuft die zugehörigen Eigenschaften für den Nachrichtenkontext höher. Mit dem WCF-Sendeadapter wird ein WCF-Dienst aufgerufen. Der WCF-Sendeadapter ruft die WCF-Dienste über die typenlosen Verträge auf.

Hinweis

Die WCF-Adapter unterstützen die Verarbeitung von Webdiensten im RPC-Format (Remote Procedure Call) nicht, da die Nachrichtenteile in Webdiensten im RPC-Format auf die Nachrichtentypen verweisen, anstatt auf die Nachrichtenelemente, in denen WCF-Adapter Elemente für die Nachrichtenteile verwenden. Es wird empfohlen, dass Sie den Webdienst im RPC-Format über den Assistenten zum Hinzufügen von Webverweisen zum Verarbeiten der Webdienste in BizTalk-Projekten hinzufügen.

Unterstützung von Webdienststandards

WCF-Adapter bieten die Unterstützung von WS-*-Standards, z. B. von WS-Addressing, WS-Security und WS-AtomicTransaction. WS-ReliableMessaging wird in dieser Version der WCF-Adapter nicht unterstützt. Eine Liste der von WCF unterstützten Spezifikationen finden Sie unter https://go.microsoft.com/fwlink/?LinkId=88314.

WS-Adressierung

WCF-Adapter beruhen auf der Standardunterstützung von WS-Addressing, die von WCF bereitgestellt wird. Die folgenden Features sind in WCF-Adaptern verfügbar:

  • Konfiguration der Endpunktadresse des Sendeports, die während der Metadatenaustauschanforderung abgerufen wird.

  • Konfiguration der Adressierungsheader für die Endpunktadresse des Sendeports.

  • Konfiguration der Adressierungsheader für den Endpunkt, der am BizTalk-Empfangsspeicherort zugänglich ist.

WS-Security

WCF-Adapter beruhen auf der Unterstützung von Sicherheitsstandards, die von WCF bereitgestellt werden. Die folgenden Standards werden von WCF-Adaptern unterstützt:

  • Webdienstsicherheit: SOAP Message Security (WS-Security) 1.0 und 1.1

  • Web Services Secure Conversation Language (WS-SecureConversation)

  • Web Services Trust Language (WS-Trust)

  • Web Services Security X.509 Certificate Token Profile

  • Web Services Security Username Token Profile 1.0

  • Web Services Security Kerberos Token Profile 1.0

Dienstauthentifizierungstypen

Die folgenden WCF-Dienstauthentifizierungstypen werden unterstützt:

  • Keine

  • Windows

  • Zertifikat

Clientauthentifizierungstypen

Die folgenden WCF-Clientauthentifizierungstypen werden unterstützt:

  • Anonym

  • UserName

  • Windows

  • Zertifikat

Sicherheitsmodi

Die folgenden Sicherheitsmodi werden unterstützt:

  • Transport

  • Meldung

  • Gemischt (Sicherheit auf Transportebene und Authentifizierung auf Nachrichtenebene)

WS-AtomicTransaction

Die Adapter WCF-WsHttp, WCF-NetTcp und WCF-NetMsmq unterstützen das WS-AtomicTransaction-Protokoll. Diese Unterstützung ermöglicht die folgenden Szenarien:

  • Transaktionale Übermittlung von Nachrichten an die MessageBox-Datenbank.

  • Transaktionale Übertragung von Nachrichten aus der MessageBox-Datenbank an ein transaktionales Ziel.

Hinweis

Der Transaktionsbereich wird durch die MessageBox-Datenbank beschränkt. Eine BizTalk-Orchestrierung kann z. B. nicht an der Transaktion eines Clients teilnehmen. Ebenso kann ein Zielendpunkt nicht an einer Transaktion teilnehmen, die von einer BizTalk-Orchestrierung eingeleitet wird.

Transaktionale Übermittlung

Für die WCF-WsHttp- und WCF-NetTcp-Adapter wird die Transaktionsübermittlung an BizTalk Server aktiviert, indem im Dialogfeld Transporteigenschaften des Empfangsstandorts das Kontrollkästchen Transaktionen aktivieren aktiviert wird. Für den WCF-NetMsmq-Adapter ist das Kontrollkästchen Transaktion standardmäßig aktiviert. Wenn die Nachrichtenwarteschlangen, aus denen Sie Nachrichten abrufen, nicht als „transaktional“ gekennzeichnet sind, dann müssen Sie dieses Kontrollkästchen deaktivieren. Andernfalls erhalten Sie eine Fehlermeldung.

Wenn die Transaktionsfunktionalität aktiviert ist, werden Nachrichten mithilfe der Transaktionen des Clients an die MessageBox-Datenbank übermittelt. Wenn ein Client versucht, die Nachrichten außerhalb des Transaktionsbereichs zu übermitteln, gibt der Adapter eine Ausnahme an den Client zurück. Es werden jedoch keine Nachrichten angehalten. Wenn die Transaktionsfunktionalität deaktiviert ist, werden Nachrichten ohne Transaktionen des Clients an die MessageBox-Datenbank übermittelt. Wenn ein Client versucht, die Nachrichten innerhalb des Transaktionsbereichs zu übermitteln, gibt der Adapter eine Ausnahme an den Client zurück und es werden keine Nachrichten angehalten.

Transaktionen und Empfangsspeicherorttyp

Die transaktionale Übermittlung ist nur für unidirektionale Empfangsspeicherorte verfügbar. Wenn ein Client versucht, Nachrichten in einem Transaktionsbereich für einen bidirektionalen Empfangsspeicherort zu übermitteln, wird eine Ausnahme an den Client zurückgegeben und es werden keine Nachrichten angehalten.

Transaktionale Übertragung

Für die WCF-WsHttp- und WCF-NetTcp adapter wird die Transaktionsübertragung von BizTalk Server aktiviert, indem im Dialogfeld Porttransporteigenschaften senden das Kontrollkästchen Transaktionen aktivieren aktiviert wird. Für den WCF-NetMsmq-Adapter ist das Kontrollkästchen Transaktion standardmäßig aktiviert. Wenn die Nachrichtenwarteschlangen, in die Sie Nachrichten senden, nicht als „transaktional“ gekennzeichnet sind, dann müssen Sie dieses Kontrollkästchen deaktivieren. Andernfalls erhalten Sie eine Fehlermeldung.

Wenn die Transaktionsfunktionalität aktiviert ist, werden Nachrichten im Rahmen der Transaktion in die MessageBox-Datenbank übertragen und aus dieser gelöscht. Wenn der Zieldienst nach dem Empfangen der Nachricht beliebige Schritte unternommen hat und die Nachricht nicht aus der MessageBox-Datenbank gelöscht wurde, dann wird die Transaktion abgebrochen und ein Rollback für alle Transaktionsvorgänge des Diensts durchgeführt. Wenn die Transaktionsfunktionalität deaktiviert ist, werden Nachrichten in die MessageBox-Datenbank übertragen und aus dieser gelöscht, ohne Transaktionen zu verwenden.

Unterstützung für Einmaliges Anmelden (Single Sign-On, SSO)

Sie können das SSO-Ticket (Enterprise Single Sign-On, Einmaliges Anmelden für Unternehmen) für die Verwendung von SSO mit WCF-Adaptern imitieren und erwerben. Weitere Informationen zur Verwendung des einmaligen Anmeldens mit WCF-Adaptern finden Sie unter Unterstützung für einzelne Sign-On für wcf-Adapter.

In der folgenden Tabelle sind die Szenarien aufgeführt, die bei der Verwendung der SSO-Unterstützung mit den WCF-Empfangsadaptern nicht unterstützt werden.

Sicherheitsmodus Anmeldeinformationen
Keine Keine
Transport Keine
Meldung Keine
TransportWithMessageCredentials Keine
TransportCredentialOnly Keine

WCF-Erweiterbarkeit

Sie können die Funktionalität von WCF erweitern, indem Sie die folgenden Erweiterungen entwickeln und diese zusammen mit den WCF-Custom- und WCF-CustomIsolated-Adaptern verwenden:

  • Benutzerdefinierte Bindungen

  • Benutzerdefinierte Bindungselemente

Benutzerdefinierte Bindungen

Benutzerdefinierte Bindungen werden dadurch entwickelt, dass einzelne Bindungselemente in einen Container gepackt werden, der eine Teilmenge der Konfigurationseigenschaften für ein bestimmtes Einsatzszenario zugängig macht. Sie müssen die Bindungserweiterung registrieren, indem Sie die Assembly im globalen Assemblycache (GAC) installieren und dann das Erweiterungselement zur Computerkonfigurationsdatei hinzufügen. Sie müssen die Bindung auf jedem Server in der BizTalk-Gruppe einrichten, um benutzerdefinierte Bindungen verwenden zu können. Nach der Installation der Bindung ist diese für die WCF-Custom- und WCF-CustomIsolated-Adapter sichtbar. Die WCF-Custom- und WCF-CustomIsolated-Adapter erhalten die Konfigurationseigenschaften der Bindung, indem die Reflektion bei den Konfigurationselementen der Bindung erfolgt.

Benutzerdefinierte Bindungselemente

Benutzerdefinierte Bindungselemente werden durch Hinzufügen oder Ändern bestimmter Transportkanalkomponenten entwickelt. Eine benutzerdefinierte Dekomprimierungskomponente ist z. B. als Bindungselement verpackt oder ein UDP-Transport wird als Bindungselement dargestellt. Diese Bindungselemente können innerhalb der WCF-Adapter verwendet werden. Sie können einen Kanalstapel definieren, der das benutzerdefinierte Bindungselement in Kombination mit anderen vordefinierten oder benutzerdefinierten Bindungselementen verwendet. Sie müssen die Bindungserweiterung registrieren, indem Sie die Assembly im globalen Assemblycache (GAC) installieren und dann das Erweiterungselement zur Konfigurationsdatei des Computers hinzufügen. Sie müssen die Bindung auf jedem Server in der BizTalk-Gruppe einrichten, um benutzerdefinierte Bindungen verwenden zu können. Um die benutzerdefinierten Bindungselemente zu verwenden, können Sie den Bindungstyp CustomBinding auswählen und dann die Bindungselemente in einer gewünschten Reihenfolge hinzufügen, ändern oder neu anordnen.

In diesem Abschnitt

Weitere Informationen