Eine Anwendung, die ein Web-Service-Client ist, kann die Richtlinienkonfiguration
eines Web-Service-Providers abrufen und diese Informationen verwenden, um eine Richtlinienkonfiguration zu definieren, die für den Client und den
Service-Provider akzeptabel ist.
Vorbereitende Schritte
Sie haben einen Web-Service-Client entwickelt, der alle erforderlichen Artefakte enthält, und Ihre
Web-Service-Anwendung in Ihrer Anwendungsserverinstanz implementiert. Sie haben die Richtliniensätze je nach Bedarf zugeordnet und die zugehörigen Bindungen verwaltet.
Der Service-Provider muss seine Richtlinie in seiner WSDL-Datei (Web Services Description Language)
veröffentlichen, und diese Richtlinie muss seine Richtlinienkonfiguration für die Laufzeit im WS-PolicyAttachments-Format enthalten.
Der Client muss diese Providerrichtlinien unterstützen.
Eine Liste der unterstützten Spezifikationen für die WS-Policy-Zusicherung und der WS-Policy-Domänen
finden Sie im Artikel WS-Policy.
Informationen zu diesem Vorgang
Sie können den Client so verwalten, dass er sich zur Laufzeit,
basierend auf der Richtlinie des Service-Providers im WS-PolicyAttachments-Standardformat,
dynamisch selbst konfiguriert. Sie können den Client so verwalten, dass die Providerrichtlinie
dynamisch auf Anwendungs- oder Service
- bzw. Servicereferenz
ebene angewendet wird.
Endpunkte und Operationen übernehmen ihre Richtlinienkonfiguration standardmäßig vom relevanten Service.
Es ist jedoch möglich, eine Servicereferenz zu konfigurieren, um den Service
zu überschreiben, woraufhin die Endpunkte und Operationen ihre Richtlinienkonfiguration
von der Servicereferenz übernehmen.
Wenn die Providerrichtlinie
eine WSDL mit mehreren Teilen verwendet, können Sie eine HTTP-Get-Anforderung verwenden, um die Richtlinie des Providers
abzurufen, aber Sie können nicht das Protokoll "WS-MetadataExchange" verwenden.
Weitere Informationen zu WSDLs mit mehreren Teilen finden Sie im Artikel zu WSDL.
Die Schnittmenge der Richtlinien basiert auf dem Vergleich
zwischen einer Clientrichtlinie und einer Providerrichtlinie, um festzustellen, ob sie kompatibel sind, und der
Berechnung der neuen Richtlinie, der so genannten effektiven Richtlinie, die mit den Anforderungen und Leistungsmerkmalen beider übereinstimmt.
In diesem Artikel wird beschrieben, wie Sie die Clientrichtlinie in der Administrationskonsole so konfigurieren, dass sie eine Service-Provider-Richtlinie verwendet.
Sie können für diese Konfiguration auch wsadmin-Befehle verwenden.
Vorgehensweise
- Klicken Sie im Navigationsfenster der Administrationskonsole auf
.
- Klicken Sie in der Zeile für die Anwendung bzw. den Service, auf die bzw. den Sie die Richtlinie anwenden möchten, auf den Link in der Spalte "Angewendete Richtlinien". Daraufhin
erscheint die Anzeige Angewendete Richtlinien.
- Wählen Sie in der Dropdown-Liste eine der folgenden Optionen aus:
- Nur Providerrichtlinie. Der Client
wird ausschließlich auf der Basis der Richtlinie des Service-Providers konfiguriert.
Diese Option ist verfügbar, wenn kein Clientrichtliniensatz zugeordnet ist.
- Client- und Providerrichtlinie. Der Client wird auf der Basis des Clientrichtliniensatzes und der Richtlinie des Service-Providers konfiguriert.
Diese Option ist verfügbar, wenn ein Clientrichtliniensatz zugeordnet ist.
Die anderen Optionen in dieser Liste gelten nicht für diese Task.
- Verwenden Sie die Optionsfelder, um die Methode auszuwählen, die zum Abrufen der Providerrichtlinie
verwendet werden soll: HTTP-GET-Anforderung (siehe Schritt 5) oder
WS-MetadataExchange-Anforderung (siehe Schritt 6).
- Optional: Wenn die Providerrichtlinie über eine HTTP-GET-Anforderung abgerufen werden soll, klicken Sie auf
HTTP-GET-Anforderung. Standardmäßig wird die HTTP-GET-Anforderung
für die URL eines Serviceendpunkts mit dem Zusatz ?WSDL abgesetzt. Beispiel:
http://myhost:9080/WSSampleSei/EchoService?WSDL
Wenn der Zuordnungspunkt des Richtliniensatzes für die Anwendungsebene gilt, kann dieser
Wert nicht geändert werden.
- Optional: Wenn Sie eine Richtlinie auf einen Service anwenden und sich
die Providerrichtlinie am Serviceendpunkt befinden, müssen Sie sicherstellen, dass die Option
Standardanforderungsziel verwenden ausgewählt ist.
- Optional: Wenn Sie eine Richtlinie auf einen Service anwenden und sich die Providerrichtlinie
nicht am Serviceendpunkt befindet, klicken Sie auf
Anforderungsziel angeben, und geben Sie anschließend den URL für die Position der
Providerrichtlinie im Feld ein. Sie können das Ziel der HTTP-GET-Anforderung beispielsweise ändern, wenn sich die Providerrichtlinie
in einem Rpository befindet.
- Optional: Wenn Sie HTTP-Get-Anforderung als Methode für das Abrufen
der Providerrichtlinie auswählen, Anforderungsziel angeben auswählen und die Sicherheit
auf Transportebene konfigurieren möchten, wählen Sie HTTP-GET-Anforderung eine Systemrichtlinie zuordnen
und anschließend einen passenden Richtliniensatz und eine Bindung in den Dropdown-Listen aus.
Wählen Sie den erforderlichen Richtliniensatz in der Richtliniensatzliste aus, um die Transportsicherheit für
die HTTP-GET-Anforderung festzulegen.
Wählen Sie einen der Systemrichtliniensätze aus, der auschließlich HTTP-Transportrichtlinien, ausschließlich SSL-Transportrichtlinien oder beides enthält. Der Richtliniensatz
darf darf keine anderen Richtlinientypen enthalten.
Wählen Sie die erforderliche Bindung für die HTTP-GET-Anforderung in der Bindungsliste aus.
Sie können zwischen allgemeinen Bindungen für die globale Domäne oder für die
Sicherheitsdomäne dieses Service wählen.
- Optional: Wenn Sie die Providerrichtlinie über eine WS-MetadataExchange-GetMetadata-Anforderung (Web Services Metadata Exchange) abrufen möchten,
klicken Sie auf WS-MetadataExchange-Anforderung.
- Optional: Wenn Sie WS-MetadataExchange-Anforderung auswählen und mit
Sicherheit auf Nachrichtenebene arbeiten möchten, wählen Sie WS-MetadataExchange-Anforderung eine Systemrichtlinie zuordnen aus.
Wählen Sie anschließend einen geeigneten Richtliniensatz und eine geeignete Bindung in den entsprechenden Dropdown-Listen aus. Weitere Informationen hierzu finden Sie im Artikel Sicherheit für eine WS-MetadataExchange-Anforderung konfigurieren.
- Klicken Sie auf OK.
- Speichern Sie Ihre Änderungen in der Masterkonfiguration.
Ergebnisse
Die clientseitige Richtlinie der Webanwendung wird bei Bedarf je nach ausgewählter Option entweder auf der Basis
der Service-Provider-Richtlinie oder auf der Basis des Clientrichtliniensatzes
und der Service-Provider-Richtlinie ermittelt und als Laufzeitkonfiguration zwischengespeichert.
Die ermittelte Richtlinie ist die so genannte
"effektive Richtlinie" und wird als Laufzeitkonfiguration
zwischengespeichert. Die effektive Richtlinie wird für nachfolgende abgehende
Web-Service-Anforderungen an den Endpunkt bzw. die Operation verwendet, für den bzw. die
die dynamische Richtlinienermittlung durchgeführt wurde. Die Richtliniensatzkonfiguration des Clients ändert sich nicht.
Die Providerrichtlinie, die der Client für einen
Service bereithält, wird beim ersten Aufruf des Web-Service nach dem Laden der Anwendung aktualisiert.
Danach wird die Providerrichtlinie jedesmal aktualisiert, wenn die Anwendung erneut startet wird oder wenn
die Anwendung explizit eine Aktualisierung anfordert.
Bei der Aktualisierung der Providerrichtlinie wird die gültige Richtlinie neu ermittelt.