Hello Everyone,
Thanks for your response Iksreal. Unfortunately I cannot change the
schema because it si published and my webservice is a client of it
(hence I have no control overs its definition). The schema is valid (if
a slightly strange way of epxressing the structure) as far as I can see,
but the beans generated by WSDL are incorrect I think, as it should
produce a collection of {URL, Text, Image} elements. Although I can
imagine why the generation has failed due to the any allowable ordering
of the elements.
Is this a bug? Should I submit it it to some JIRA/bug tracking mechanism?
Kind Regards,
Tim
PS: Sorry if this is a duplicate posting - we have had some problems
with our mail servers.
iksrazal wrote:
Just a simple thought - have you thought about defining an Array in your wsdl
and returning that? Simply create a List on the service side and use
toArray() ?
iksrazal
Em Terça 06 Dezembro 2005 10:20, o Tim R J Langford escreveu:
Greetings All,
1) I am having a problem with the WSDL2Java code generated from the
current schema element :
<s:complexType name="ParagraphType">
<s:sequence>
<s:choice minOccurs="0" maxOccurs="unbounded">
<s:element minOccurs="0" maxOccurs="1" name="Text"
type="s1:FormattedTextTextType"/>
<s:element minOccurs="0" maxOccurs="1" name="Image"
type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="URL"
type="s:anyURI"/>
</s:choice>
</s:sequence>
<s:attribute name="ParagraphNumber" type="s:nonNegativeInteger"/>
</s:complexType>
2) This schema represents (among other things) such messages as :
<VendorMessage Title="XXXImages" Language="en" InfoType="URI">
<SubSection SubTitle="95" SubSectionNumber="1">
<Paragraph ParagraphNumber="1">
<URL>http://www.XXX.com/1.gif</URL>
<URL>http://www.XXX.com/2.gif</URL>
<URL>http://www.XXX.com/3.gif</URL>
<URL>http://www.XXX.com/4.gif</URL>
<URL>http://www.XXX.com/5.gif</URL>
<URL>http://www.XXX.com/6.gif</URL>
</Paragraph>
</SubSection>
</VendorMessage>
3) However the corresponding ParagraphType class generated by WSDL2Java
has the following member variables generated (which are not sets of the
corresponding elements) :
private org.opentravel.www.OTA._2003._05.FormattedTextTextType text;
private java.lang.String image;
private org.apache.axis.types.URI URL;
private org.apache.axis.types.NonNegativeInteger paragraphNumber;
// attribute
4) So when the message is unmarshalled only the final <URL> (in this
example) is available through the accessor method of the unmarshalled
bean and the others are lost...
I have looked though the other WSDL posts on this forum but cannot seem
to find a solution. Is there are special parameter I should set when
generating the Java, or is this possibly a bug in the generator (the
schema does seem a slightly esoteric way of defining the structure)?
Any help would be greatfully appreciated because this has become a bit
of a show stopper to the project.
Thankyou for your time,
Tim