ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
866
866
EMPFEHLEN
-
03.12.10 08:25 #1
- Registriert seit
- Dec 2010
- Beiträge
- 3
Hi,
ich weiß nicht, wie ich das Problem anders benennen sollte. Es geht um folgendes:
Ich spreche einen Web Service über Axis2 mit RAMPart an. Das Databinding ist auf xmlbeans gesetzt und der Aufruf ist synchron. RAMPart funktioniert soweit. Der Aufruf des Web Services ist wie folgt:
Nun bekomme ich aber einen Axis fault zurück.Code :1
PutMessageResponseDocument response = stub.putMessage(putMessageDocument, payloadManifestDocument, id);
Code :1 2 3 4 5 6 7 8
catch (AxisFault ex) { System.err.println("AxisFault!"); System.err.println("Message: " + ex.getMessage()); System.err.println("Fault Code: " + ex.getFaultCode()); System.err.println("Details: " + ex.getDetail()); if (ex.getFaultMessageContext() != null) { System.err.println("Envelope: " + ex.getFaultMessageContext().getEnvelope().toString()); }
Mein Problem ist, dass ich nicht an die Nachricht selbst herankomme. Ich möchte den Quellcode des Stubs nicht verändern, sondern das Objekt in der Hand haben und ausgeben können.
Ich bekomme aber generell nur das hier als Ausgabe:
Code :1 2 3 4
AxisFault! Message: error: The document is not a PutMessageResponse@http://www.foo.de/foo: document element mismatch got Fault@http://schemas.xmlsoap.org/soap/envelope/ Fault Code: null Details: null
In der Nachricht selbst steht aber noch mehr drin (wenn ich den Quellcode des Stubs ändere):
Code :1 2 3 4 5 6 7 8 9
Verschlüsselungskram ... <soapenv:Fault> <faultcode>soapenv:Client</faultcode> <faultstring>Relationship not exists</faultstring> <detail><ErrorMessage>Blablabla</ErrorMessage></detail> </soapenv:Fault> </soapenv:Body> </soap:Envelope>
Wie komme ich da ran? Mir ist klar, dass das kein PutMessageDocument sondern ein Fault ist :\ Aber der Aufruf des Web Services gibt nunmal nur ein PutMesaageDocument zurück. Oder wie kann ich das sonst angehen? Auf den Web Service habe ich keinerlei Einfluss.
Vielen Dank im Voraus.
Gruß
-
schau dir mal die API zu AxisFault an, da gibts noch ne Reihe an Methoden, die du mal ausprobieren könntest:
http://axis.apache.org/axis2/java/co...AxisFault.html
z.B.
getFaultCodeElement
getFaultReasonElement
getFaultNodeElement
getFaultDetailElement
-
15.12.10 07:21 #3
- Registriert seit
- Dec 2010
- Beiträge
- 3
Hi MadM,
ich habe sämtliche Methoden durchprobiert, aber irgendwie will da nichts funktionieren.
In TCPMon sehe ich noch, dass etwas verschlüsseltes ankommt, aber dann kommt auch schon der Fault. Im Stub habe ich noch eingetragen, dass die unverschlüsselte Nachricht ausgegeben werden soll, aber selbst das funktioniert nicht. Wenn ich keinen Fault zurück bekomme, wird die Nachricht ausgegeben.
Ich bin echt am verzeifeln.
Gruß
-
25.01.11 08:57 #4
- Registriert seit
- Dec 2010
- Beiträge
- 3
Hi,
ich habe eine mögliche Ursache meines Problems:
1. Die Nachrichten sind verschlüsselt
2. Die Fehlermeldung kommt auch verschlüsselt bei mir an
3. Der SOAP Header enthält die "action" eines Faults (im Klartext)
4. Axis2 oder RAMPart versuchen anscheinend den Body der Nachricht auch im Klartext zu lesen, weil im Header ja steht, dass es ein Fault sei. Der Body existiert natürlich so nicht, wenn noch nichts entschlüsselt ist
Problem: Wie bekomme ich eine "erzwungene" Entschlüsselung eines Faults hin?
Danke und Gruß
Ähnliche Themen
-
AXIS2 SOAP auslesen
Von Bartholoudeus im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 09.12.09, 17:41 -
AXIS2-Webservice und PHP-Client
Von Moritz123 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 27.04.09, 16:04 -
Axis2 repository für axis2.xml client configuration
Von Markus Taubek im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 22.10.08, 15:30 -
Beispiele zu Axis2 und SOAP Streams
Von WeirdAl im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 24.09.07, 14:43 -
[Java] Soap Serializer Fault
Von Christian Fein im Forum JavaAntworten: 1Letzter Beitrag: 07.04.03, 16:48





Zitieren
Login





