Re[4]: Raw SOAP XML response

"Sterpu Victor" <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <emdc6f7b77-dbc6-4372-9974-990f39cc0941@victor-pc>
I tired your code but I got a problem. This is what I wrote(I don't have 
a axis2.xml file, I just create the stub with wsdl2java and used the 
class):
ConfigurationContext configContext = 
ConfigurationContextFactory.createDefaultConfigurationContext();
ServiceClient sender = new ServiceClient(configContext, null);
OperationClient mepClient = 
sender.createClient(ServiceClient.ANON_OUT_IN_OP);
MessageContext 
response=mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
String response_xml = response.getEnvelope().toString();

These lines are executed immediatly after the succesful SOAP call and I 
receive a java.lang.NullPointerException at the line "String 
response_xml = response.getEnvelope().toString();".
I traced the SOAP response with Fiddler and the answer is "<?xml 
version="1.0" encoding="UTF-8"?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><dlwmin:storeClinicalDocumentSResponse 
xmlns:dlwmin="core.des.uti.ro" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><return></return></dlwmin:storeClinicalDocumentSResponse></soapenv:Body></soapenv:Envelope>"

Thank you.

------ Original Message ------
From: "Martin Gainty" <[email protected]>
To: "[email protected]" <[email protected]>; "Sterpu 
Victor" <[email protected]>
Sent: 2/11/2016 9:28:48 PM
Subject: Re: Re[2]: Raw SOAP XML response

>
>
>--------------------------------------------------------------------------------
>From: Sterpu Victor <[email protected]>
>Sent: Wednesday, November 2, 2016 11:57 AM
>To: Martin Gainty; [email protected]
>Subject: Re[2]: Raw SOAP XML response
>
>It didn't work.
>This is what I did: I deleted from the directory of Axis2\lib 4 files: 
>axiom-jaxb-1.2.19.jar, axiom-api-1.2.19.jar, axiom-dom-1.2.19.jar, 
>axiom-impl-1.2.19.jar
>and I added these 4 files: 
>axiom-api-1.2.20.jar,axiom-dom-1.2.20.jar,axiom-impl-1.2.20.jar,axiom-jaxb-1.2.20.jar.
>I use Axis embeded so I also deleted from my netbeans libraries the old 
>jars and added the new ones.
>I recompiled and the error remained.
>
>
>------ Original Message ------
>From: "Martin Gainty" <[email protected]>
>To: "[email protected]" <[email protected]>; "Sterpu 
>Victor" <[email protected]>
>Sent: 2/11/2016 4:58:09 PM
>Subject: Re: Raw SOAP XML response
>
>>possible outdated version of axiom
>>
>>
>>
>>
>>      * In Axiom versions prior to 1.2.9, the sequence of events was 
>>inconsistent if the
>>      * underlying stream is XOP encoded and caching is disabled (see 
>>WSCOMMONS-485).
>>      * This made it necessary for the caller to (partially) handle the 
>>XOP processing and to use
>>      * {@link OMAttachmentAccessor#getDataHandler(String)} to retrieve 
>>the binary content.
>>      * Starting with 1.2.9 this is no longer be the case: as specified 
>>above,
>>      * the sequence of events is *independent of the state of the 
>>object model*
>>      * and the value of the <code>cache</code> parameter,
>>      * and ALL binary content is reported through the
>>      * {@link org.apache.axiom.ext.stax.datahandler.DataHandlerReader} 
>>(embedded in axiom-api) extension.
>>
>>
>>upgrade axiom to 1.2.9 a recompile, package, deploy and run with 1.2.9 
>>should mitigate the error you are now receiving
>>
>>*please keep us apprised*
>>
>>
>>
>>Martin
>>______________________________________________
>>
>>
>>--------------------------------------------------------------------------------
>>From: Sterpu Victor <[email protected]>
>>Sent: Wednesday, November 2, 2016 9:37 AM
>>To:[email protected]
>>Subject: Raw SOAP XML response
>>
>>Hello
>>
>>I need to save the raw SOAP XML response from Axis2(I use axis 2 
>>1.7.3).
>>When Axis2 call retusrns an error this code works:
>>String response = 
>>sc.getLastOperationContext().getMessageContext("In").getEnvelope().toString();
>>
>>MG>//build configurationContext from location of repo and name of 
>>axis2.xml
>>MG>ConfigurationContext configContext = ConfigurationContextFactory
>>.createConfigurationContextFromFileSystem("../../repository",  //exact 
>>location of repository
>>"axis2.xml");                           //exact filename of axis2.xml
>>
>>MG>establish new ServiceClient implementing attributes from 
>>ConfigurationContext
>>MG>ServiceClient sender = new ServiceClient(configContext, null);
>>
>>MG>you will need to supply a QName for incoming request and SOAP 
>>response output
>>/**
>>      * Operation name used for an anonymous in-out operation (meaning 
>>we sent a message and receive
>>      * a response, equivalent to a WSDL In-Out operation).
>>
>>     public static final QName ANON_OUT_IN_OP = new 
>>QName(Constants.AXIS2_NAMESPACE_URI,
>>                                                          
>>"anonOutInOp",
>>                                                          
>>Constants.AXIS2_NAMESPACE_PREFIX);
>>*/
>>MG>OperationClient mepClient = 
>>sender.createClient(ServiceClient.ANON_OUT_IN_OP);
>>
>>MG>ask client to contact axis2 server and pull a response back
>>MG>MessageContext 
>>response=mepClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE));
>>/**
>>      *MESSAGE_LABEL_IN_VALUE Constant to represent the message label 
>>"In" which is used by the
>>      * following WSDL 2.0 defined MEPs: In-Only, Robust In-Only, 
>>In-Out, //Hint: In-Out is your Message Exchange
>>      * In-Optional-Out, Out-In, Out-Optional-In.
>>     public static final byte MESSAGE_LABEL_IN = 0;
>>     public static final String MESSAGE_LABEL_IN_VALUE = "In";
>>*/
>>
>>MG>convert soapEnvelope to String
>>MG>String response =response.getEnvelope().toString();
>>
>>MG>?
>>But when I run a succesful Axis2 call the same code gives the 
>>following error: "java.lang.IllegalStateException: Can't process next 
>>node because caching is disabled"
>>
>>I tryed to enable cache like this, but it didn't work:
>>
>>                                 ServiceClient sc = 
>>(ServiceClient)method_getServiceClient.invoke(objectReflect);
>>                                 ServiceContext srv_context = 
>>sc.getServiceContext();
>>                                 
>>srv_context.setCachingOperationContext(true);
>>                                 OperationContext oc= new 
>>OperationContext();
>>                                 oc.setComplete(true);
>>                                 
>>srv_context.setLastOperationContext(oc);
>>
>>Thank you
>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.