Metaner Geschrieben 25. Februar 2010 Geschrieben 25. Februar 2010 Hallo, vorweg ... ich habe mich bislang nur sporadisch mit Web-Services beschäftigt. Daher verzeiht mir bitte, wenn ich bei meiner Beschreibung evtl. nicht die korrekten Begrifflichkeiten verwende. Ich habe folgendes Problem. Ich benutze einen Web-Service und habe mir mittels wsimport einen entsprechenden Client (Stub) erzeugt. Ich benutze JAX-WS in Version 2.1.X. Der Zugriff funktioniert auch soweit. Nun wurde der Web-Service dahingehend erweitert, dass in der Soap-Nachricht ein <soap:header> mitgeliefert wird. In diesem Soap-Header stehen Informationen, die ich gerne auslesen möchte. Der Web-Service bzw. der erzeugte Stub bietet mir aber keinerlei neue Funktionen um an diese Information zu kommen. Bei meinen Recherchen habe ich schon diverse Lösungsansätze probiert. Allerdings ohne Erfolg. Das einzige was mir bislang gelungen ist, war den HTTP-Header auszulesen ... aber diese Infos brauche ich nicht. :beagolisc Was muss man also tun, um an die Informationen im Soap-Header zu kommen? Gruß Jan Zitieren
Schiller256 Geschrieben 1. März 2010 Geschrieben 1. März 2010 Das verarbeiten von SOAP Nachrichten egal ob Header oder Body übernehmen SOAPHandler. Du musst deinen eigenen Handler wenn du wirklich einen eigenen benötigt nur entsprechend registrieren. Diese Handler implementieren das Interface SOAPHandler und damit hast du dann direkten Zugriff auf die SOAP Nachrichten. Was willst du denn genau aus dem Header auslesen oder rein schreiben? Denn für die meisten Anforderungen sollte es bereits fertige Implementierungen geben. Zitieren
Metaner Geschrieben 1. März 2010 Autor Geschrieben 1. März 2010 Das verarbeiten von SOAP Nachrichten egal ob Header oder Body übernehmen SOAPHandler. Du musst deinen eigenen Handler wenn du wirklich einen eigenen benötigt nur entsprechend registrieren. Diese Handler implementieren das Interface SOAPHandler und damit hast du dann direkten Zugriff auf die SOAP Nachrichten. Danke für den Denkanstoss. Ich werde morgen mal versuchen, damit den Zugriff auf den SOAP-Header hinzubekommen. Falls ich selbst nicht zum Erfolg komme oder irgendwo hängen bleibe ... darf ich Dich dann noch einmal "nerven"? Was willst du denn genau aus dem Header auslesen oder rein schreiben? Denn für die meisten Anforderungen sollte es bereits fertige Implementierungen geben. Ich benutze einen Web-Service für den ein Benutzerkonto erforderlich ist. Bei jedem WS-Zugriff müssen die Benutzerdaten mitgegeben werden. Nun ist es so, dass das Passwort zum Benutzerkonto nach spätestens x Tagen verfällt und damit der Zugang gesperrt ist. Bislang hatte ich bei jedem WS-Zugriff einen weiteren zusätzlichen WS-Aufruf durchgeführt um eine Information zur Gültigkeitsdauer des Passwortes zu bekommen. Nun hat der Anbieter des Web-Service eine Änderung durchgeführt, bei der nun im Response ein Soap-Header implementiert wurde, in dem genau diese Info steckt. Wenn ich an diese Info komme, würde ich mir für die Zukunft einen 2ten WS-Aufruf sparen und somit Performance gewinnen. Zitieren
Metaner Geschrieben 3. März 2010 Autor Geschrieben 3. März 2010 Ich wollte nur kurz die Info los werden, dass es mit einem eigenen Handler und HandlerResolver funktioniert hat. Vielen Dank für den nützlichen Hinweis! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.