Ich habe seit einiger Zeit an einem Soap-Client gearbeitet und kann es immer noch nicht herausfinden.
Ich habe diesen Fehler:
%Vor%Ich sah es irgendwie üblich, aber immer noch kann es nicht funktionieren.
Hier ist mein Code:
%Vor%Relevante Abhängigkeiten, die verwandt sein könnten:
%Vor%und diese:
%Vor%Irgendeine Idee über diesen Fehler?
Wie Sie vielleicht schon bemerkt haben, haben Sie inkompatible Versionen von SAAJStreamWriter und OverlayW3CDOMStreamWriter .
SAAJStreamWriter
befindet sich im Paket cxf-rt-bindings-soap
, das bereitgestellt wird von:
OverlayW3CDOMStreamWriter
befindet sich in pachage cxf-core
, was von:
Probieren Sie eine der neuesten Versionen von org.apache.cxf - 3.1.13 oder 3.2.0 - die gleiche Version für beide Abhängigkeiten.
Sie ziehen eine falsche Version von OverlayW3CDOMStreamWriter
.
SAAJStreamWriter
erweitert OverlayW3CDOMStreamWriter
mit isOverlaid
field.
isOverlaid
wurde in der Version 3.2 von package private in protected geändert und in die Version 3.1.7 zurückportiert, sodass auf die Unterklasse SAAJStreamWriter
Beide untergeordneten Abhängigkeiten ziehen cxf core mit OverlayW3CDOMStreamWriter
1.
%Vor%cxf-rt-frontend-jaxws - cxf-rt-bindings-soap - 3.1.11 für SAAJStreamWriter
cxf-rt-transports-http - cxf-core - 3.1.11 für OverlayW3CDOMStreamWriter
2.
%Vor%cxf-rt-transports-http - cxf-core - 3.1.6 für OverlayW3CDOMStreamWriter
cxf core 3.1.6 wurde über 3.1.11 gewählt, da es näher ist, da maven standardmäßig Versionskonflikte mit einer nearest-wins-Strategie löst.
Also im Wesentlichen 3.1.11 SAAJStreamWriter
klasse hat 3.1.11 OverlayW3CDOMStreamWriter
erwartet aber gefunden 3.1.6 OverlayW3CDOMStreamWriter
wo das isOverlaid
Paket privat war und der Grund für Ihren Fehler ist.
Fix Änderung, um 3.1.11 für Jetty-Abhängigkeit zu verwenden oder zumindest Version 3.1.7 für beide obigen Abhängigkeiten zu verwenden.
%Vor% Dies wird die 3.1.11
sowohl für cxf-Kern- als auch für cxf-Bindungen ziehen und sollte den Fehler beheben.
Tags und Links java cxf soap web-services