Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Bug
-
None
-
None
-
None
Description
I had created a client stub (jar) using the Axis 2. I need to consume this jar into my application and like wise print the soap request and response whenever a soap service is invoked. How do i do that ? While surfing on internet i only found the below approach to print the logs. But it only print the request . While printing the response it throws error " java.lang.IllegalStateException: Can't process next node because caching is disabled" . Please assist ?
ServiceContext serviceContext = this.proxy._getServiceClient().getServiceContext();
boolean cacheLastOperationContext = true;
serviceContext.setCachingOperationContext(cacheLastOperationContext);
OperationContext lastOperationContext = serviceContext.getLastOperationContext();
lastOperationContext.setComplete(true);
if(null != lastOperationContext) {
MessageContext outMessageContext = lastOperationContext.getMessageContext("Out");
MessageContext inMessageContext = lastOperationContext.getMessageContext("In");
if (outMessageContext != null)
{ System.out.println("OUT SOAP: " + outMessageContext.getEnvelope().toString()); }if (inMessageContext != null)
{ ** This below line throws the error while printing the response** System.out.println("IN SOAP: "+ inMessageContext.getEnvelope().toString()); proxy.cleanup(); }}