Beispiel: JAX-WS-Eigenschaften zum Bearbeiten von SOAP-Headern verwenden

WebSphere Application Server stellt Erweiterungen für die Clientprogrammiermodelle Java™ API for XML-Based Web Services (JAX-WS) und Web Services for Java Platform, Enterprise Edition (Java EE) bereit, einschließlich der Eigenschaften "jaxws.binding.soap.headers.outbound" und "jaxws.binding.soap.headers.inbound". Dieses Beispiel zeigt, wie JAX-WS-Eigenschaften zum Bearbeiten von SOAP-Headern verwendet werden.

Fehler vermeiden Fehler vermeiden: Es ist nicht möglich, diese API-Erweiterungen und die Standard-APIs zur Bearbeitung von SOAP-Headern in demselben JAX-WS-Handler zu verwenden. Wenn Sie festlegen, wie die SOAP-Header-Bearbeitung für einen JAX-WS-Handler verarbeitet wird, müssen Sie entscheiden, ob diese Erweiterungen oder die Standard-APIs verwendet werden sollen.gotcha
Das folgende Programmierbeispiel veranschaulicht, wie in einem JAX-WS-Handlerkontext zwei Anforderungs-SOAP-Header festgelegt und ein Antwort-SOAP-Header abgerufen werden können:
1  //HashMap-Objekte für die SOAP-Header abgehender Anforderungen erstellen
2  Map<QName, List<String>> outboundHeaders=messageContext.get("jaxws.binding.soap.headers.outbound"); 
34  // "AtmUuid1" und "AtmUuid2" zur Zuordnung abgehender Anforderungen hinzufügen
5  List<String> list1 = new ArrayList<String>();
6  list1.add("<AtmUuid1 xmlns=\"com.rotbank.security\"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid1>");
7  List<String> list2 = new ArrayList<String>();
8  list2.add("<AtmUuid2 xmlns=\"com.rotbank.security\"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid2>"
9  outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid1"), list1);
10 outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid2"), list2);
11 // Zuordnung abgehender Anforderungen im Objekt MessageContext, das an die JAX-WS-Handlermethode übergeben wird
12 messageContext.put("jaxws.binding.soap.headers.outbound", outboundHeaders);

Rufen Sie in Zeile 2 die SOAP-Header-Zuordnung abgehender Anforderungen aus dem Parameter MessageContext ab, der an die JAX-WS-Handlermethode übergeben wird.

In den Zeilen 5 bis 10 werden die Headerelemente AtmUuid1 und AtmUuid2 zur Zuordnung abgehender Anforderungen hinzugefügt.

In der Zeile 12 wird die Zuordnung abgehender Anforderungen im JAX-WS-Handlerkontext definiert, was zur Folge hat, dass die Header AtmUuid1 und AtmUuid2 zur Anforderungsnachricht hinzugefügt werden. Dieser Code ist nicht erforderlich, da die Zuordnung abgehender Anforderungen eine zeitnahe Zuordnung ist.

JAX-WS-Handlermethoden können auch bestimmte Header aus der Zuordnung abrufen und, falls gewünscht, Header oder ganze Headerlisten entfernen.

Anmerkung: Verwenden Sie nur diese APIs oder nur die Standard-APIs zur Verarbeitung einer Nachricht, aber nicht beide.

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=rwbs_manipulatesoapjaxwshandler
Dateiname:rwbs_manipulatesoapjaxwshandler.html