2013-04-19 7 views
5

Ich benutze CXF, um Client-Code für einen JAX-RS-REST-Service zu erstellen. Dieser REST-Dienst beruht leider auf Cookies, um jede Anfrage zu authentifizieren und andere wichtige Sitzungszustände zu verwalten. Der Zugriff auf die Kontoinformationen des Benutzers umfasst zwei Anforderungen: eine zum Anmelden und eine zum Abrufen von Kontoinformationen. Die Sitzungscookies, die in der ersten Anfrage abgerufen wurden, müssen mit der zweiten Anfrage gesendet werden.CXF JAX-RS-Client-Proxy, der keine Cookies verwaltet

Hier ist mein Code.

Die zweite Anforderung schlägt fehl, da sie nicht die erforderlichen Sitzungscookies enthält, die bei der vorherigen Anmeldung zurückgegeben wurden.

Ich glaube, es gibt eine Möglichkeit, den WebClient so zu konfigurieren, dass Cookies über Anfragen hinweg gepflegt werden. Ich habe hoch und niedrig gesucht, aber ich kann nicht herausfinden, wie. Ich hoffe, dass mich jemand auf ein Beispiel hinweisen kann. Danke im Voraus!

Antwort

7

Ich habe endlich eine Lösung gefunden. Ich musste folgendes tun, bevor ich den Proxy benutzte.

WebClient.getConfig(proxy).getRequestContext().put(
     org.apache.cxf.message.Message.MAINTAIN_SESSION, Boolean.TRUE); 
Verwandte Themen