axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Williams (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIS2-632) get errors trying to parse valid response
Date Sat, 29 Apr 2006 01:47:37 GMT
     [ http://issues.apache.org/jira/browse/AXIS2-632?page=all ]

Chuck Williams updated AXIS2-632:
---------------------------------

    Attachment: WhiteSpaceAndExtensionTypes.zip

The attached archive has a fix for the whitespace problem.  This is serious as it causes generated
parsing code to fail if there is whitespace between array element properties (and possibly
other cases).  I beleive the fix should be included in the 1.0 release.

There is only one changed file:  ADBBeanTemplate.xsl.  The archive includes a patch and the
new version of the file.

Also included is some simple test code in Main.java that reproduces this issue, verifying
the whitespace problem is fixed but that the extension types issue remains.  The test case
requires the generated classes from enterprise.wsdl as described by the submitter, except
that I also used -ss to get the server side code.  This is so classes are unwrapped.  Else,
the Stub is a 5 MB source file that breaks the netbeans source debugger and even some operations
in emacs!



> get errors trying to parse valid response
> -----------------------------------------
>
>          Key: AXIS2-632
>          URL: http://issues.apache.org/jira/browse/AXIS2-632
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: databinding
>  Environment: Axis2.0 RC4, JDK 1.5.06, WinXP
>     Reporter: Simon Fell
>     Priority: Blocker
>  Attachments: WhiteSpaceAndExtensionTypes.zip
>
> A valid response from the query call (wsdl is the enterprise wsdl that's now part of
the tests) fails to be de-serialized with an error.
> Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unexpected
subelement Name
> 	at org.apache.axis2.SforceServiceStub.fromOM(SforceServiceStub.java:59718)
> 	at org.apache.axis2.SforceServiceStub.query(SforceServiceStub.java:2545)
> 	at client.main(client.java:19)
> Caused by: java.lang.RuntimeException: Unexpected subelement Name
> 	at org.apache.axis2.SforceServiceStub$QueryResult$Factory.parse(SforceServiceStub.java:57735)
> 	at org.apache.axis2.SforceServiceStub$QueryResponse$Factory.parse(SforceServiceStub.java:20706)
> 	at org.apache.axis2.SforceServiceStub.fromOM(SforceServiceStub.java:59594)
> 	... 2 more
> Here's the response msg it fails to deserialize
> <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:enterprise.soap.sforce.com" xmlns:sf="urn:sobject.enterprise.soap.sforce.com"><soapenv:Body><queryResponse><result><done>true</done><queryLocator
xsi:nil="true"/><records xsi:type="sf:Account"><sf:Id>0013000000Bnr1qAAB</sf:Id><sf:AccountNumber>axis2Test</sf:AccountNumber><sf:Name>New
Account 2</sf:Name></records><records xsi:type="sf:Account"><sf:Id>0013000000BnspUAAR</sf:Id><sf:AccountNumber>axis2Test</sf:AccountNumber><sf:Name>New
Account 1</sf:Name></records><size>2</size></result></queryResponse></soapenv:Body></soapenv:Envelope>
> the client stub was generated with WSDL2Java -s -u -uri enterprise.wsdl
> The test code is
> 		SforceServiceStub stub = new SforceServiceStub();
> 		SforceServiceStub.Login l = new SforceServiceStub.Login();
> 		l.setUsername("*username*");
> 		l.setPassword("*password*");
> 		SforceServiceStub.LoginResponse lr = stub.login(l);
> 		
> 		SforceServiceStub.SessionHeader sh = new SforceServiceStub.SessionHeader();
> 		sh.setSessionId(lr.getResult().getSessionId());
> 		stub = new SforceServiceStub(lr.getResult().getServerUrl());
> 		
> 		SforceServiceStub.Query q = new SforceServiceStub.Query();
> 		q.setQueryString("select id, name, AccountNumber from Account where AccountNumber='axis2Test'");
> 		SforceServiceStub.QueryResponse qr = stub.query(q, sh, null);
> 		
> 		System.out.println("query returned " + qr.getResult().getSize() + " rows");
> 		
> 		for(SforceServiceStub.SObject o : qr.getResult().getRecords()) {
> 			SforceServiceStub.Account a = (SforceServiceStub.Account)o;
> 			System.out.println(a.getId() + " " + a.getName() + " " + a.getAccountNumber());
> 		}
> Also the generated stub has getId() returning an OMElement, and not a string.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message