JAX-WS-client: pflegen Sie die session/cookies über mehrere Dienste
Ich bin mit Netbeans automatisch erstellen webservice-clients aus den WSDL-Dateien. Das funktioniert gut, außer die webservices verwende ich verlangen, dass ich den pass in einer benutzerdefinierten Cookies im HTTP-header zu jedem webservice, um meine Identität nachweisen.
Ich benutze einen webservice namens Utility
um meine Genehmigung. Dieser setzt einen cookie, die erbracht werden muss bei allen nachfolgenden aufrufen irgendwelcher webservice.
Dies kann erreicht werden durch Einstellung javax.xml.ws.session.maintain
zu true
auf die BindingProvider des Ports für den webservice. Dies funktioniert gut für nachfolgende Aufrufe der Methoden in der Utility
webservice.
Das problem ist, dass diese nur verwaltet die session/cookie für die einzelnen webservice. Ich muss es über andere als gut.
Ich brauche das cookie übergeben, um eine separate webservice namens History
Wie kann ich dies erreichen? Ist es möglich, einen super Service-Klasse, die beide Dienstprogramm und könnte die Geschichte erweitern und teilen die gleiche session state mit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich eine Lösung gefunden habe.
Können Sie get-response-Header mit dieser, nachdem Sie den Anruf getätigt haben:
Finden Sie die
Set-Cookie
- header und speichern Sie Ihren Wert.Dann vor Ihrer nächsten Anfrage (in jedem webservice) Sie können den set-Cookie-header: