axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jayachandra Sekhara Rao Sunkara (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1818) MessageElement [] for <any> doesn't include all elements
Date Thu, 26 May 2005 10:09:56 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1818?page=comments#action_66343 ]
     
Jayachandra Sekhara Rao Sunkara commented on AXIS-1818:
-------------------------------------------------------

I guess, I made a patch for this sometime back. I'll clean it up, run all-tests on my machine
once and post it here to be readily checked into the codebase.

> MessageElement [] for <any> doesn't include all elements
> --------------------------------------------------------
>
>          Key: AXIS-1818
>          URL: http://issues.apache.org/jira/browse/AXIS-1818
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2RC2
>  Environment: XP / JDK 1.4.x / Axis 1.2 RC3
>     Reporter: Simon Fell
>     Assignee: Venkat Reddy
>  Attachments: sforce.xml, sforce.xsd
>
> This is with Axis 1.2 RC3
> Given this type fragment
> <sequence>
> <element name="type" type="xsd:string"/>
> <element name="fieldsToNull" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
> <element name="Id" type="tns:ID" nillable="true" minOccurs="0" maxOccurs="1"/>
> <any namespace="##targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> If a runtime message returns the Id element twice, the 2nd instance, which should end
up in the any collection gets dropped.
> There's a sample service at http://soap.4s4c.com/dotnet/any.wsdl that this test code
shows this problem.
> 		AnyServiceLocator loc = new AnyServiceLocator();
> 		Soap svc = loc.getSoap();
> 				
> 		QueryResult qr = svc.query("blah");
> 		
> 		for (int i =0; i < qr.getRecords().length; i++ ) {
> 			SObject s = qr.getRecords(i);
> 			MessageElement [] e= s.get_any();
> 			System.out.println("MessageElement array size is " + e.length);
> 			for (int j = 0; j < e.length; j++ ){
> 				System.out.print(" " + e[j].getValue());
> 			}
> 			System.out.println("");
> 		}
> This prints out "MessageElement array size is 2", even though there's 3 elements that
appear after the first Id element, here's the fragement of the response.
> <records xsi:type="sf:sObject">
> <sf:type>Contact</sf:type>
> <sf:Id>00330000006jryXAAQ</sf:Id>
> <sf:Id>00330000006jryXAAQ</sf:Id>
> <sf:FirstName>Fred</sf:FirstName>
> <sf:LastName>A&gt;B</sf:LastName>
> </records>

-- 
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