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?
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%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%Tags und Links java cxf web-services ws-security