WSIFOperation - Kontext

Obwohl WSDL keinen Kontext definiert, muss bei bestimmten Verwendungen von Web Services Invocation Framework (WSIF) ein Kontext an den Port, der den Service aufruft, übergeben werden.

Für einen SOAP-over-HTTP-Port können beispielsweise ein HTTP-Benutzername und ein Kennwort erforderlich sein. Diese Informationen sind spezifisch für den Aufruf, jedoch nicht für einen Parameter des Service. Im Allgemeinen wird Kontext als Gruppe von Name/Wert-Paaren definiert. Da Web-Services jedoch dazu neigen, die Datentypen mit XML-Schematypen zu definieren, stellt WSIF die Name/Wert-Paare des Kontexts auf dieselbe Weise dar wie die Klasse WSIFMessage, d. h. über eine Gruppe benannter Komponenten, von denen jede einer Instanz eines XML-Schematyps entspricht.

Kontextinformationen können mit den Methoden setContext und getContext der Schnittstelle WSIFOperation an die Bindung übergeben werden. Die Portimplementierung kann diesen Kontext verwenden, um z. B. einen SOAP-Header zu aktualisieren. Für die Verwendung des Kontextes durch einen Port gibt es keine Definition.

Der Parameter der Methoden setContext und getContext ist ein WSIFMessage-Interface mit benannten Teilen, die die Kontextinformationen definieren. Die Klasse WSIFConstants definiert Konstanten für die Komponentennamen, die in einem WSIFMessage-Interface des Kontextes festgelegt werden können.

Das folgende Codefragment zeigt, wie Benutzername und Kennwort für die HTTP-Basisauthentifizierung festgelegt werden:

 // Einen Header für die Basisauthentifizierung festlegen
    WSIFMessage headers = new WSIFDefaultMessage(); 
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_USER, "Benutzername" );
    headers.setObjectPart( WSIFConstants.CONTEXT_HTTP_PSWD, "Kennwort" );
    operation.setContext( headers );     

Das Interface WSIFOperation ignoriert Kontextteile, die es nicht unterstützt. Der vorherige Code beispielsweise wird vom WSIF-Java™-Provider ignoriert.

Die WSIFConstants-Klasse umfasst die folgenden Konstanten, die für Namen von Kontextkomponenten verwendet werden können:

Die HTTP-Header-Werte müssen vom Typ String und der SOAP-Header-Wert vom Typ java.util.List sein, der wiederum Einträge vom Typ org.w3c.dom.Element enthalten muss.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsf_context
Dateiname:rwsf_context.html