Clientrichtlinie auf der Basis einer Service-Provider-Richtlinie mit wsadmin-Scripting konfigurieren
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
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
Ebene | Zeichenfolgeformat | Listenformat mit Name/Wert-Paaren (NEU) | Verhalten |
---|---|---|---|
Typ | "WebService:/" | "type=WebService:/" | Gibt alle Artefakte in der Anwendung an. |
Service | "WebService:/myModule:{Namespace}myService" | "type=WebService:/,module=myModule,service={Namespace}myService" | Gibt alle Artefakte im Web-Service an. |
Endpunkt (unter diesem Service) | "WebService:/myModule:{Namespace}myService/endpointA" | "type=WebService:/,module=myModule,service={Namespace}myService,endpoint=endpointA" | Gibt alle Operationen für diesen Endpunkt an (unter dem Service). |
Operation (unter diesem Service) | "WebService:/myModule:{Namespace}myService/endpointA/operation1" | "type=WebService:/,module=myModule,service={Namespace}myService,endpoint=endpointA, operation=operation1" | Gibt eine einzige bestimmte Operation an (unter dem Service). |
Servicereferenz | [Nicht möglich] | "type=WebService:/,module=myModule,service={Namespace}myService,serviceRef=myServiceRef" | Gibt alle Artefakte in der Web-Service-Referenz an. |
Endpunkt (unter dieser Servicereferenz) | [Nicht möglich] | "type=WebService:/,module=myModule,service={Namespace}myService,serviceRef=myServiceRef, endpoint=endpointA" | Gibt alle Operationen für diesen Endpunkt an (unter der Servicereferenz). |
Operation (unter dieser Servicereferenz) | [Nicht möglich] | "type=WebService:/,module=myModule,service={Namespace}myService,serviceRef=myServiceRef, endpoint=endpointA,operation=operation1" | Gibt eine einzige bestimmte Operation an (unter der Servicereferenz). |
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 mit wsadmin-Befehlen so konfigurieren, dass sie eine Service-Provider-Richtlinie verwendet. Sie können für diese Konfiguration auch die Administrationskonsole verwenden.
Vorgehensweise
Ergebnisse
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.