2009-10-20 10 views
6

Jest to prawdopodobnie łatwe pytanie dla każdego, kto ma umiarkowaną wiedzę z usługami sieciowymi za pomocą Apache Axis.Jak uzyskać komunikat SOAP podczas korzystania z Osi 1.4 klient generowany wsdl2java

Mam klienta usługi sieci Web, który został wygenerowany przez wsdl2java w Osi 1.4. Piszę testy jednostkowe, które muszą uzyskać dostęp do aktualnego komunikatu SOAP i dokonuję porównania z klasami java po stronie klienta, które są generowane przez Axis. (nie pytaj)

Jak mogę pobrać aktualny komunikat SOAP z odpowiedzi z usługi?

Z tego, co mogę zebrać z przeszukiwania, to to, że muszę pobrać MessageContext. Próbowałem coś wzdłuż tych linii ...

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

Ale mc jest null w tym przypadku ....

Każda pomoc jest mile widziana!

Odpowiedz

3

Kiedy _call obiekt jest wypełniony wywołanie poniżej linii daje to.

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

Dla odpowiedzi użyj poniżej jeden

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

Call jest org.apache.axis.client.Call jak wiesz.