Axis2 MustUnderstand problem mit Boolean

Status
Nicht offen für weitere Antworten.

Seb9

Mitglied
Hallo,

ich habe ein Problem mit Axis2, genauer gesagt mit der WSDL2Java Codegenerierung.
Ich möchte gerne einen Service ansprechen, den ich nicht verändern kann.
Zu diesem Service habe ich ein WSDL-Dokument, welches ich zur Stub generierung benutze.
Den Client Stub erzeuge ich mit WSDL2Java und dem ADB-Databinding.
Ich benutze dazu Axis2 1.4.1.

Nun das Problem:
Der Service verlangt, dass das Attribut MustUnderstand=1 gesetzt ist.
Mein Stub lässt jedoch nur True/False zu.
Mit einem Boolschen Wert funktioniert es aber definitiv nicht.
Also habe ich mein Stub umgeschrieben, so dass "true" als "1" gesetzt wird.

Nun versteht der Service meine Anfrage und schickt auch eine Korrekte Antwort an mich zurück (beobachtet mit TCP-Trace).

Axis2 wirft jedoch eine Fehler:
Exception in thread "main" org.apache.axis2.AxisFault: Must Understand check failed for header ...

Meine Vermutung ist nun die, dass Axis2 nicht mit MustUnderstand=1 umgehen kann.
Ich habe also das Problem von vorher nun in umgedrehter Richtung.

Ich habe gelesen, dass man in den Axis2 Sourcen, in den XSLT-Templates, die Stelle suchen muss an der der Typ von MustUnderstand gesetzt wird und diesen anpassen soll.

Einen solchen Eintrag finde ich jedoch nicht.

Kann mit hier jemand sagen, wie ich dieses Problem in den Griff bekommen kann?
Hat eventuell jemand das gleiche Problem?

Viele Grüße
Seb9
 
V

Vayu

Gast
benutzt du rampart 1.4? wenn ja mach n downgrade auf 1.3 das sollte das problem beheben
 

Seb9

Mitglied
Nein, ich benutze nicht Rampart, jedenfalls noch nicht.
Bei dem SOAP-Call handelt es sich um einen unsignierten Call über HTTP.
 
V

Vayu

Gast
ist es möglich, dass du mir das wsdl file mal zukommen lässt?
ich bin jetzt bald weg ins Wochenende, würde aber am Montag falls das Problem noch besteht mal drüber schauen.
 
V

Vayu

Gast
also ich vermute, dass die entwickler den fehler gemacht haben mit der 1. Auf ihrer Seite ist es ja kein problem weil die die serialisierung selber gebastelt haben.

Den part der die SOAP Message ausliest kannst du bei dir nicht verändern? Weil dann liest du halt statt der 1 n true :)

edit: war blödsinn :)

finds aber eh komisch ... diesen Fehler hatte ich einmal. und da lags an einer wohl fehlerhaften rampart version 1.4

normalerweise sollte doch das framework aus 1 true und 0 false machen oder nicht? Da solltest du dich doch gar nicht drum kümmern müssen.
 
Zuletzt bearbeitet von einem Moderator:

Seb9

Mitglied
Laut SOAP Spec. sind beide Varianten zulässig. Also True oder 1.
Da ich auf die Server-Seite keinen Einfluss habe, muss ich wohl Axis2 in irgend einer Weise davon überzeugen, dass er eine Eins, als True interpretieren kann.
Was den Client-Stub anbelangt, ist diese Änderung ganz einfach. Komplizierter wird es eben bei allen Abläufen vor dem Stub. Also der Axis2 Engin.
 
V

Vayu

Gast
was du noch machen kannst, du kannst dir in er axis2.xml in der InFlow Phase nen eigenen Handler deklarieren. Damit kannst dann den Header selber behandeln.
 

Seb9

Mitglied
Ja, dass habe ich auch gelesen, doch nie verstanden wie das gehen soll.
In den Quellen die ich habe, dienen die Handler immer dazu irgend etwas zu tun (auswerten, hinzufügen, verändern)
Ich möchte aber all das nicht. Ein Handler, so wie ich das verstehe, verlangt auch immer ein Modul.
In meinem Fall müsste dieses Modul ja leer sein, da ich gar keinen Dienst anbiete, sonder lediglich einen benutze.
Wenn Du weißt wie ich mir einen Client Handler erzeuge, der nichts macht, wäre ich happy ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Axis2 Dateien lesen und schreiben - Pfade SOA 1
L [AXIS2] OutOfMemory Exception bei Übertragung von größerer Datei via Webservice SOA 3
C SSL in Tomcat mit Axis2 SOA 4
K Axis2 SOAP Logging via Client SOA 2
T Verwendung von Eclipse Projekten im Axis2 Webservice SOA 8
S AXIS2 Webservice: Umgang mit komplexen Datentypen SOA 5
S Axis2 Fault - Wie im Client auslesen? SOA 6
S Axis2 / Rampart - XML-Datei verschlüsseln & versenden SOA 14
J Axis2 und wiederverwenden der Serverobjekte SOA 3
B Axis2 Cipher Suite und Protocol einschränken SOA 2
H Axis2 dynamische URL zu WSDL SOA 2
H Axis2: XML<->DB SOA 2
T Axis2 Problem: leeres Array? SOA 1
F Axis2 große Strings streamen SOA 3
A Axis2 oder 1 Ntlm Authentification SOA 5
J Axis2 und Tomcat SOA 4
T Hat AXIS2 noch Zukunft und wie REST implementieren? SOA 6
R AXIS2 u. Eclipse (Galileo) Fehler bei Serverstart SOA 2
G Stub generieren (WSDL=Axis1.4) (WSDL2JAVA=Axis2) SOA 11
H Axis2 Deployment SOA 5
R SOAP Nachrichtenaustausch zwischen Axis2-WSs SOA 5
S Exception in axis2 java2wsdl ant Task SOA 1
N Request-XML-String -> AXIS2 -> WSDL-Check -> Respon SOA 2
G Axis2 Properties SOA 6
N Axis2: Binärdateien übertragen mit JWS/RPC SOA 2
M Axis2 vs XFire vs JAX-WS SOA 4
N Axis2 - hibernate.cfg.xml - wohin? SOA 6
K Axis2 Service / deploying to Tomcat 5.5.25 / web.xml SOA 5
F Axis2 und Listen SOA 3
I Axis2 mit SSL verschlüsseln SOA 4
N Axis2 - Cliententwicklung SOA 3
G axis2 rampart 1.3 SOA 1
K Webservices mit Axis2 SOA 2
M problem mit großem SOAP Response SOA 3
H Problem beim Aufruf meines Webservices SOA 0
F Client Problem gegen Webservice SOA 3
D Problem CXF und Tomcat 6 SOA 2
N JAX-WS Client Timeout Problem SOA 4
C Problem mit digitalen Signaturen auf Web Service Seite SOA 3
C Problem mit Java Webservice - SOAPBinding.Style - Wrapper class fehlt SOA 1
F nach wsimport neues problem -> nicht gefundener import SOA 3
G Problem bei Zugriff auf .Net Web Service SOA 3
L WebService TestClient Problem SOA 2

Ähnliche Java Themen

Neue Themen


Oben