Sleepwalker
Grünschnabel
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.
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:
In der Nachricht selbst steht aber noch mehr drin (wenn ich den Quellcode des Stubs ändere):
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ß
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:
Code:
PutMessageResponseDocument response = stub.putMessage(putMessageDocument, payloadManifestDocument, id);
Code:
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:
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:
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ß