Gewusst wie: Konfigurieren eines WCF-Clients für die Zusammenarbeit mit WSE3.0-Diensten
Windows Communication Foundation (WCF)-Clients sind auf niedriger Ebene mit Diensten von Web Services Enhancements 3.0 für Microsoft .NET (WSE) kompatibel, wenn WCF-Clients für die Verwendung der Version der WS-Addressing-Spezifikation vom August 2004 konfiguriert sind.
So konfigurieren Sie einen WCF-Client für die Zusammenarbeit mit einem WSE3.0-Webdienst
Führen Sie das Service Metadata Utility Tool (SvcUtil.exe) aus, um für den WSE 3.0-Webdienst einen WCF-Client zu erstellen.
Für einen WSE-Webdienst wird eine WCF-Clientklasse erstellt.
Weitere Informationen über die Erstellung eines WCF-Clients finden Sie in Gewusst wie: Erstellen eines Windows Communication Foundation-Clients.
Erstellen Sie eine Klasse, die eine Bindung darstellt, die mit WSE 3.0-Webdiensten kommunizieren kann.
Die folgende Klasse ist Teil des Interoperating with WSE-Beispiels.
- Erstellen Sie eine von der Binding-Klasse abgeleitete Klasse.
Der folgende Code erstellt eine Klasse mit dem NamenWseHttpBinding
, die von der Binding-Klasse abgeleitet wird. - Fügen Sie der Klasse Eigenschaften hinzu, die die sofort verwendbare WSE-Assertion festlegen. Hierzu gehört, ob abgeleitete Schlüssel erforderlich sind, ob Sicherheitssitzungen zum Einsatz kommen, ob Signaturbestätigungen erforderlich sind sowie die Einstellungen für den Nachrichtenschutz.
Das folgende Codebeispiel definiert dieSecurityAssertion,
RequireDerivedKeys, EstablishSecurityContext, MessageProtectionOrder
-Eigenschaften, die die sofort verwendbare WSE-Assertion festlegen. Hierzu gehört, ob abgeleitete Schlüssel erforderlich sind, ob Sicherheitssitzungen zum Einsatz kommen, ob Signaturbestätigungen erforderlich sind sowie die Einstellungen für den Nachrichtenschutz. - Überschreiben Sie die CreateBindingElements-Methode, um die Bindungseigenschaften einzurichten.
Das folgende Codebeispiel legt die Einstellungen für Transport, Nachrichtencodierung und Nachrichtenschutz fest, indem die Werte fürSecurityAssertion
und dieMessageProtectionOrder
-Eigenschaften abgerufen werden.
- Erstellen Sie eine von der Binding-Klasse abgeleitete Klasse.
Fügen Sie im Clientanwendungscode Code hinzu, um die Bindungseigenschaften festzulegen.
Das folgende Codebeispiel legt fest, dass der WCF-Client Nachrichtenschutz und -authentifizierung, wie von der sofort verwendbaren WSE 3.0-AnonymousForCertificate-Sicherheitsassertion definiert, verwenden muss. Darüber hinaus sind Sicherheitssitzungen und abgeleitete Schlüssel erforderlich.
Beispiel
Das folgende Codebeispiel definiert eine benutzerdefinierte Bindung, die Eigenschaften offenlegt, die mit den Eigenschaften der sofort verwendbaren WSE 3.0-Sicherheitsassertion übereinstimmen. Die benutzerdefinierte Bindung mit dem Namen WseHttpBinding
wird dann verwendet, um die Bindungseigenschaften für einen WCF-Client festzulegen.