Befehl "setClientDynamicPolicyControl"
Verwenden Sie den Befehl setClientDynamicPolicyControl, um festzulegen, wie eine Anwendung, die ein Web-Service-Client ist, die Richtlinienkonfiguration eines Web-Service-Providers abrufen soll. Sie können diese Informationen, die festlegen, wie eine Providerrichtlinie abgerufen werden soll, definieren, aktualisieren oder löschen.
Verwenden Sie für die Ausführung des Befehls das Objekt "AdminTask" des wsadmin-Scripting-Clients.
Der wsadmin-Scripting-Client wird über die Qshell ausgeführt.
Weitere Informationen finden Sie im Artikel "Qshell für die Ausführung von WebSphere Application Server-Scripts konfigurieren".
Dieser Befehl ist nur gültig, wenn er mit Anwendungsservern der WebSphere Application Server Version 7 und höher verwendet wird. Verwenden Sie diesen Befehl nicht in früheren Versionen.
print AdminTask.help('PolicySetManagement')
print AdminTask.help('Befehlsname')
AdminConfig.save()
Zweck
Verwenden Sie den Befehl setClientDynamicPolicyControl, um festzulegen, wie ein Client die Richtlinienkonfiguration eines Service-Providers abrufen soll.
Der Client kann die Richtlinienkonfiguration des Providers über eine HTTP-GET-Anforderung oder eine WS-MetadataExchange-Anforderung (Web Services Metadata Exchange) abrufen. Der Service-Provider muss seine Richtlinie im WS-PolicyAttachment-Format in seiner WSDL-Datei (Web Services Description Language) veröffentlichen, und der Client muss diese Providerrichtlinien unterstützen können.
Der Client verwendet die Informationen zur Laufzeit, um eine Richtlinienkonfiguration einzurichten, die sowohl für den Client als auch den Service-Provider akzeptabel ist.
Zielobjekt
Eine Anwendung oder ein Service, die bzw. der ein Web-Service-Client ist.
Erforderliche Parameter
- -applicationName
- Der Name der Anwendung, für die Sie die Richtlinienkonfiguration des Providers abrufen möchten. (String)
- -resource
- Der Name der Ressource, für die Sie die Richtlinienkonfiguration des Providers abrufen möchten. Geben Sie zum Abrufen aller Ressourcen in einer Anwendung WebService:/ an. Alternativ können Sie einen Service oder eine Servicereferenz angeben.
- Weitere Einzelheiten finden Sie im Artikel Clientrichtlinie auf der Basis einer Service-Provider-Richtlinie mit wsadmin-Scripting konfigurieren.
Optionale Parameter
- -acquireProviderPolicyMethod
- Gibt an, wie die Richtlinienkonfiguration des Providers abgerufen werden kann. (String)Geben Sie einen der folgenden Werte ein:
- httpGet
- Rufen Sie die Richtlinienkonfiguration des Providers über eine HTTP-GET-Anforderung ab.
Standardmäßig wird die HTTP-GET-Anforderung für den URL jedes Serviceendpunkts mit dem Zusatz ?WSDL abgesetzt. Wenn Sie einen Service für den Parameter resource angeben und eine andere Position für die Richtlinienkonfiguration des Providers angeben möchten, können Sie den Parameter httpGetProperties verwenden, um das Ziel der Anforderung zu ändern.
Standardmäßig verwendet die HTTP-GET-Anforderung dieselben HTTP- und SSL-Transportrichtlinien wie die Anwendungsanforderung. Wenn Sie den Parameter httpGetProperties verwenden, um das Ziel der Anforderung zu ändern, und andere HTTP- und SSL-Transportrichtlinien für die Anforderung angeben möchten, können Sie den Systemrichtliniensatz und die allgemeine Bindung angeben, die die gewünschten HTTP- und SSL-Transportrichtlinien enthält.
- wsMex
- Rufen Sie die Richtlinienkonfiguration des Providers über eine WS-MetadataExchange-Anforderung ab.
Standardmäßig übernimmt die WS-MetadataExchange-Anforderung die Richtliniensatz- und Bindungskonfiguration von der Anwendung. Sie können den Systemrichtliniensatz und die allgemeine Bindung angeben, die die erforderlichen WS-Security-Richtlinien enthält.
- -wsMexProperties
- Gibt an, dass die Sicherheit auf Nachrichtenebene für WS-MetadataExchange-Anforderungen erforderlich ist, und gibt außerdem
die Einstellungen an, die die Sicherheit auf Nachrichtenebene bereitstellen.
(Eigenschaften)Geben Sie die folgenden Werte und die gewünschten Einstellungen für die Werte ein:
- wsMexPolicySetName
- Der Name des Systemrichtliniensatzes, der die Nachrichtensicherheit für eine WS-MetadataExchange-Anforderung spezifiziert. Geben Sie einen Systemrichtliniensatz an, der nur WS-Security-Richtlinien und/oder nur WS-Addressing-Richtlinien enthält.
- wsMexPolicySetBinding
- Der Name der allgemeinen Bindungen für die Richtliniensatzzuordnung für eine WS-MetadataExchange-Anforderung.
Sie können aus allgemeinen Bindungen für die globale Domäne oder die Sicherheitsdomäne dieses Service auswählen. Wenn Sie diese Eigenschaft
nicht angeben, wird die Standardbindung verwendet.
Dieser Wert ist nur gültig, wenn Sie den Wert wsMexPolicySetName angeben.
Dieser Parameter ist nur gültig, wenn Sie für den Parameter acquireProviderPolicyMethod den Wert wsMex angeben.
- -httpGetProperties
- Gibt das Ziel für die Anforderung der Providerrichtlinie über eine HTTP-GET-Anforderung an, wenn sich die
Providerrichtlinie an einer anderen Position als der Zielendpunkt befindet.
Gibt optional den Systemrichtliniensatz und die allgemeine Bindung an, die
die erforderlichen HTTP- und SSL-Transportrichtlinien enthält.
(Eigenschaften)Geben Sie die folgenden Werte und die gewünschten Einstellungen für die Werte ein:
- httpGetTargetURI
- Der URL für die Position der Providerrichtlinie. Die Position kann beispielsweise auf die in einer Registry enthaltene Richtlinie verweisen.
- httpGetPolicySetName
- Der Name des Systemrichtliniensatzes, der die HTTP- und SSL-Transportrichtlinie für die HTTP-GET-Anforderung enthält.
Wenn der angegebene Systemrichtliniensatz andere Richtlinientypen als HTTP- und SSL-Transport enthält, werden diese zusätzlichen
Richtlinientypen ignoriert.
Dieser Wert ist nur gültig, wenn Sie den Wert httpGetTargetURI angeben.
- httpGetPolicySetBinding
- Der Name der allgemeinen Bindung, die die HTTP- und SSL-Transportbindungen für die HTTP-GET-Anforderung enthält.
Wenn Sie diese Eigenschaft
nicht angeben, wird die Standardbindung verwendet.
Dieser Wert ist nur gültig, wenn Sie den Wert httpGetPolicySetName angeben.
Dieser Parameter ist nur gültig, wenn Sie für den Parameter acquireProviderPolicyMethod den Wert httpGet angeben. Verwenden Sie diesen Parameter nicht, wenn die Ressource eine Anwendung ist.
- -remove
- Gibt an, ob die Informationen, die festlegen, wie der Client die Richtlinienkonfiguration des Providers abrufen soll, gelöscht werden sollen. (Boolean)Folgende Werte sind für diesen Parameter gültig:
- true
- Die Informationen, die festlegen, wie der Client die Richtlinienkonfiguration des Providers abrufen soll, werden gelöscht.
- false
- Dieser Wert ist der Standardwert. Die Informationen, die festlegen, wie der Client die Richtlinienkonfiguration des Providers abrufen soll, werden nicht gelöscht.
Beispiele
Im folgenden Beispiel werden die Informationen, die festlegen, wie der Client die Richtlinienkonfiguration des Providers abrufen soll, aus dem Service EchoService der Clientanwendung WSPolicyClient gelöscht.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-remove true]')
Im folgenden Beispiel wird der Service "EchoService" der WSPolicyClient-Clientanwendung für das Abrufen der Richtlinienkonfiguration des Providers über eine HTTP-GET-Anforderung konfiguriert.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [httpGetTargetURI http://example_path]]')
Im folgenden Beispiel wird der Service "EchoService" der WSPolicyClient-Clientanwendung für das Abrufen der Richtlinienkonfiguration des Providers über eine HTTP-GET-Anforderung konfiguriert. Die Anforderung verwendet die HTTP- und SSL-Transportrichtlinien, die im Richtliniensatz "SystemWSSecurityDefault" und in der allgemeinen Bindung "Client sample" enthalten sind.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [httpGet ]
-httpGetProperties [ [httpGetTargetURI http://example_path]
[httpGetPolicySetName SystemWSSecurityDefault]
[httpGetPolicySetBinding [Client sample]] ]]')
Im folgenden Beispiel wird der Service "EchoService" der WSPolicyClient-Clientanwendung für das Abrufen der Richtlinienkonfiguration des Providers über eine WS-MetadataExchange-Anforderung mit Nachrichtensicherheit unter Verwendung des Richtliniensatzes "SystemWSSecurityDefault" und der allgemeinen Bindung "Client sample" konfiguriert.
AdminTask.setClientDynamicPolicyControl('[-applicationName WSPolicyClient
-resource WebService:/WSPolicyClient.war:{http://example_path/}EchoService
-acquireProviderPolicyMethod [wsMex ]
-wsMexProperties [ [wsMexPolicySetName [SystemWSSecurityDefault]]
[wsMexPolicySetBinding [Client sample]] ]]')