Apache CXF - Anmeldeinformationen werden nicht von WSS4JOutInterceptor gesendet?

8

Ich versuche, mit WS-Security UsernameToken spec 1.0 eine Verbindung zu einem Webdienst herzustellen. mit Apache CXF 2.4.0.

Ich habe den folgenden Code aus den CXF-Dokumenten kopiert, bekomme aber: org.apache.cxf.ws.policy.PolicyException: Kein Benutzername verfügbar

%Vor%

Ich habe auch eine ClientPasswordHandler-Klasse implementiert, wiederum aus den Dokumenten, aber anscheinend wird der Benutzername nie gesendet (entsprechend dem Fehler). Hier ist der Passwort-Handler:

%Vor%

Gibt es eine Möglichkeit zu sehen, ob der WSS4J-Interceptor angewendet wird und das UsernameToken gesendet wird?

    
bwsmith 06.05.2011, 02:20
quelle

3 Antworten

16

Erhalten Sie die PolicyException auf der Clientseite? Wenn dies der Fall ist, bedeutet dies wahrscheinlich, dass die von Ihnen verwendete WSDL ein WS-Secu- curityPolicy-Fragment enthält, das die UsernameToken-Richtlinie beschreibt, die sie erwartet und erwartet. Wenn das der Fall ist, sollten Sie den WSS4JOutInterceptor überhaupt nicht konfigurieren. Die WS-Policy-Laufzeit wird damit umgehen und Sie müssen nur einige Eigenschaften bereitstellen, die sie möglicherweise benötigen.

Die Dokumente für den SecurityPolicy-Artikel finden Sie unter Ссылка

Sie müssen wahrscheinlich nur Folgendes verwenden:

%Vor%     
Daniel Kulp 06.05.2011, 02:35
quelle
0

Als ich die Antwort von Daniel benutzte, bekam ich die folgende Ausnahme:

%Vor%

Ich habe das Folgende benutzt und es hat angefangen zu arbeiten

%Vor%     
Alex Punnen 21.04.2015 11:22
quelle
0

Dank Daniel ist die vollständige funktionierende Konfiguration für mich die folgende:

%Vor%     
Kirill Ch 16.02.2018 14:56
quelle

Tags und Links