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
- WCF-Adapter
- Wcf Adapters Service Contract Reference (Referenz für WCF-Adapter-Dienstvertrag ) im Ui-Leitfaden und in der API-Namespacereferenz für Entwickler