2009-10-20 15 views
6

Questa è probabilmente una domanda facile per chiunque abbia una discreta esperienza con i servizi Web che utilizzano Apache Axis.Come ottenere un messaggio SOAP mentre si utilizza un client Axis 1.4 wsdl2java

Ho un client di servizio Web che è stato generato da wsdl2java in Asse 1.4. Sto scrivendo dei test unitari che devono accedere al messaggio SOAP stesso e fare un confronto con le classi java lato client generate da Axis. (non chiedere)

Come posso recuperare il messaggio SOAP effettivo da una risposta dal servizio?

Da ciò che posso ricavare dalla ricerca è che devo ottenere il MessageContext. Ho provato qualcosa in questo modo ...

MessageContext mc = MessageContext.getCurrentContext(); String message = mc.getCurrentMessage(). GetSOAPPartAsString();

Ma mc è nullo in questo caso ....

ogni aiuto è apprezzato!

risposta

5
+1

Potresti espandere la risposta? Oltre al possibile collegamento in futuro (yay, 6 anni!), La pagina del link ha un sacco di codice e non è immediatamente evidente "come è fatto". Quindi un rapido riassunto qui con lo snippet di codice pertinente (non un intero muro di codice) sarà molto utile! – ADTC

+1

Sì, ci penso io! – rshepherd

3

Quando _call oggetto viene riempita chiamando la linea sotto lo dà.

String request=_call.getMessageContext().getRequestMessage() .getSOAPPart().getEnvelope().toString();

Per risposta utilizzare il sotto di un

_call.getMessageContext().getResponseMessage() .getSOAPPart().getEnvelope().toString()

Call è un org.apache.axis.client.Call come sapete.

Problemi correlati