axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anne Thomas Manes" <atma...@gmail.com>
Subject Re: Web service not compatible with Axis?
Date Wed, 21 May 2008 15:16:50 GMT
Sorry to be obtuse ...

Does the service expect the message payload to be wrapped in the
<SCIncidentProcessing:query> element? Or is it simply expecting the
message payload? Why are you using a combination of the stub with the
OMElement?

Your code is telling AXIOM to create the <SCIncidentProcessing:query>
element and to embed the string inside it.

Anne

On Wed, May 21, 2008 at 8:58 AM,  <hermann.x.lau@jpmchase.com> wrote:
>
> Thanks for your reply.  The service provider does provide a description of
> the expected string format.  It expects a string of XML much like the one I
> have shown below.
> The header Axis appends to the object sent to the web service seems to be
> the cause of the exception.  Below is my code invoking the method using Axis
> and displaying the inputs using toString() and getText()
>
> SCIncidentWebServiceStub stub = new SCIncidentWebServiceStub();
> OMFactory fac = OMAbstractFactory.getOMFactory();
> OMNamespace omNs = fac.createOMNamespace("http://namespace.com",
> "namespace");
> OMElement input = fac.createOMElement("query",omNs);
> input.addChild(fac.createOMText(xmldata));
> System.out.println("Input1");
> System.out.println(input.toString());
> System.out.println("Input2");
> System.out.println(input.getText());
> OMElement output = stub.SCIncidentProcessing(input);
>
> This is what is shown in the console:
> Input1
> <SCIncidentProcessing:query
> xmlns:SCIncidentProcessing="http://namespace.com">&lt;?xml version='1.0'
> encoding='utf-8' standalone='yes'?>&lt;SCIncidentWebService
> action='query'>&lt;setup>&lt;webserviceUser>User1&lt;/webserviceUser>&lt;webserviceUserPassword>testPassword01&lt;/webserviceUserPassword>&lt;eventUser>ABC123lt;/eventUser>&lt;/setup>&lt;incident>&lt;incidentNumber>10697040&lt;/incidentNumber>&lt;workHistory>&lt;workHistoryType>All&lt;/workHistoryType>&lt;/workHistory>&lt;/incident>&lt;/SCIncidentWebService></SCIncidentProcessing:query>
>
> Input2
> <?xml version='1.0' encoding='utf-8' standalone='yes'?><SCIncidentWebService
> action='query'><setup><webserviceUser>User1</webserviceUser><webserviceUserPassword>testPassword01</webserviceUserPassword><eventUser>ABC123</eventUser></setup><incident><incidentNumber>10697040</incidentNumber><workHistory><workHistoryType>All</workHistoryType></workHistory></incident></SCIncidentWebService>
>
>
> I have used Eclipse generated web service client stubs to invoke this web
> service successfully.  This is because the Eclipse generated stubs provide
> the method SCIncidentProcessing(String inputString) rather than
> theSCIncidentProcessing(OMElement sCIncidentProcessing0) method that Axis
> generated stubs provide.
>
> When I invoke the web service using the Eclipse generated client stubs
> instead of Axis (with the input string like "Input 2" above, I get no
> exceptions and I get correct results back from the web service  But with
> Axis, I get the exception that I mentioned before.  So it seems like to me
> that the webservice is doing a toString() instead of a getText() on the
> input before doing any processing.  Could this mean that the particular web
> service I am trying to use is not compatible with Axis?
>
>
>
> "Anne Thomas Manes" <atmanes@gmail.com>
>
> 05/20/2008 07:46 PM
>
> Please respond to
> axis-user@ws.apache.org
> To
> axis-user@ws.apache.org
> cc
> Subject
> Re: Web service not compatible with Axis?
>
>
>
>
> Why does the service exchange strings rather than typed XML? If it's a
> web service, it should define its interface using a
> language-independent API, such as WSDL or a schema. Did the service
> provider at least provide you with a description of the expected
> string format? The first place I'd look is at the input message. My
> guess is that it isn't formatted properly.
>
> Anne
>
> On Tue, May 20, 2008 at 9:41 AM,  <hermann.x.lau@jpmchase.com> wrote:
>>
>> There is a web service that I am accessing that provides a method,
>> SCIncidentProcessing(String inputString) which will also return a string
>> of
>> XML data.
>> Axis2/Java generates the stubs with the method
>> SCIncidentProcessing(OMElement sCIncidentProcessing0). I am getting an
>> exception back from the web service when I invoke it from a client class.
>>
>> The following is what I get when I display the output:
>>
>> <?xml version="1.0" encoding="utf-8"
>> standalone="yes"?><SCIncidentWebService
>>
>> action="unknown"><response><returnCode>1</returnCode><error><number>914</number><description>An
>> exception has occurred during the ErrorProcessing functionality of the
>> SCIncidentWebService.  Please check the output logs and notify the system
>> administrator.</description><exception>System.NullReferenceException:
>> Object
>> reference not set to an instance of an object.
>>   at SCIncidentWebService.SCIncidentWebService.SCIncidentProcessing(String
>> inputString)</exception></error></response></SCIncidentWebService>
>>
>> Does this mean the web service is not handling the object passed in
>> correctly?
>>
>> I am invoking the webservice in a client class with the following section
>> of
>> code:
>> String xmldata = "sample data";
>> SCIncidentWebServiceStub stub = new SCIncidentWebServiceStub();
>> OMFactory fac = OMAbstractFactory.getOMFactory();
>> OMNamespace omNs = fac.createOMNamespace("http://namespace.com",
>> "namespace");
>> OMElement input = fac.createOMElement("query",omNs);
>> input.addChild(fac.createOMText(xmldata));
>> OMElement output = stub.SCIncidentProcessing(input);
>> String results = output.getFirstElement().getText();
>> System.out.println(results);
>>
>> What do you guys think?
>>
>> ________________________________
>>
>> This communication is for informational purposes only. It is not intended
>> as
>> an offer or solicitation for the purchase or sale of any financial
>> instrument or as an official confirmation of any transaction. All market
>> prices, data and other information are not warranted as to completeness or
>> accuracy and are subject to change without notice. Any comments or
>> statements made herein do not necessarily reflect those of JPMorgan Chase
>> &
>> Co., its subsidiaries and affiliates. This transmission may contain
>> information that is privileged, confidential, legally privileged, and/or
>> exempt from disclosure under applicable law. If you are not the intended
>> recipient, you are hereby notified that any disclosure, copying,
>> distribution, or use of the information contained herein (including any
>> reliance thereon) is STRICTLY PROHIBITED. Although this transmission and
>> any
>> attachments are believed to be free of any virus or other defect that
>> might
>> affect any computer system into which it is received and opened, it is the
>> responsibility of the recipient to ensure that it is virus free and no
>> responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and
>> affiliates, as applicable, for any loss or damage arising in any way from
>> its use. If you received this transmission in error, please immediately
>> contact the sender and destroy the material in its entirety, whether in
>> electronic or hard copy format. Thank you. Please refer to
>> http://www.jpmorgan.com/pages/disclosures for disclosures relating to UK
>> legal entities.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message