Hey Spike,
Could you try running this scenario oustide of Axis (ie, just add a
main method or something). I think you might be hitting this issue
http://issues.apache.org/jira/browse/XMLBEANS-329
which is actually a dupe of
https://issues.apache.org/jira/browse/AXIS2-2578
as it only appears when using the axis container. In other words can
we attempt to repro this using only xmlbeans?
Thanks,
-Jacob Danner

On 6/13/07, Spike Mulligan <[EMAIL PROTECTED]> wrote:
So that link seems to imply that Axis2 doesn't support substitution groups
and I have to tweak the generated code to support them.

I understand that if they were using ADB to do their binding.  But I'm
running wsdl2java with the -u xmlbeans option!  Xmlbeans is supposed to
support ALL features of schemas.  Shouldn't the code it generates for the
parent element know how to identify and parse inheiriting elements???



On 6/12/07, Martin Gainty <[EMAIL PROTECTED]> wrote:
>
>
> Mr Mulligan--
>
> is discussed here
>
http://mail-archives.apache.org/mod_mbox/ws-axis-dev/200405.mbox/[EMAIL 
PROTECTED]
> I dont see where you are setting the xmlType for your typeDesc before
associating the SubstitutionGroupMember as in
> typeDesc.setXmlType(new
QName("urn:","DerivedFromFooType"));
>
> ?
> M-
> This email message and any files transmitted with it contain confidential
> information intended only for the person(s) to whom this email message is
> addressed.  If you have received this email message in error, please
notify
> the sender immediately by telephone or email and destroy the original
> message without making a copy.  Thank you.
>
>
>
> ----- Original Message -----
> From: Spike Mulligan
> To: [EMAIL PROTECTED]
> Sent: Tuesday, June 12, 2007 9:34 AM
> Subject: (AXIS2 + wsdl2java + XMLBeans) + polymorphism = classcast
exception
>
> Does anyone know why the generated code is giving me classcast exceptions?
>
> I'm using substitutionGroups + complextype extension to implement the
following structure:
>
>   TYPES:
 ELEMENTS OF THOSE TYPES:
> AbstractAttributeSetType
AbstractAttributeSet
>       /    \
/    \
>      /      \     extension
           /      \     subtitutionGroups
>    /          \
              /          \
> Type1    Type2
Element1  Element2
>
> When I send a soap request with the AbstractAttributeSet it's accepted
fine,
>  but when I send Element1 or Element2 it gives me a classcast exception
when I do :
>
addDevice.getAddDevice().getAddDeviceInputParam().getAbstractAttributeSet().schemaType().getName().getLocalPart())
>
> The exception occurs in getAbstractAttributeSet() in the line target =
(com.nds.consumermgr.types.AbstractAttributeSetType)get_store().find_element_user(ABSTRACTATTRIBUTESET$3,
0);
>
> Why the error?  Is there some special way you're supposed to do this?
>
>
> ---------- Forwarded message ----------
> From: Spike Mulligan < [EMAIL PROTECTED]>
> Date: Jun 12, 2007 4:21 PM
> Subject: Fwd: AXIS2 + wsdl2java + XMLBeans not producing correct binding
> To: [email protected]
>
>
> Right--when I try to do that I get a classcastexception when I use the
inheiriting class.  When I use the abstract parent class then gives me the
name of the element.
>
> I do:
>
addDevice.getAddDevice().getAddDeviceInputParam().getAbstractAttributeSet().schemaType().getName().getLocalPart())
>
> The result is a classcastexception in getAbstractAttributeSet() in the
line target =
(com.nds.consumermgr.types.AbstractAttributeSetType)get_store().find_element_user(ABSTRACTATTRIBUTESET$3,
0);
>
> So for some reason it doesn't know to get the inheiriting type.
>
> Any ideas?
>
>
>
>
>
>
>
>
> On 6/11/07, Mohana Ramaratnam <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> > The way this has been working for me is:
> >
> >
> >
> > If
(file.schemaType().getName().getLocalPart().equals(ImageResource.type.getName().getLocalPart()))
> >
> >  ImageResource imageResource =
(ImageResource)file.changeType(ImageResource.type);
> >
> >
> >
> > Where file is an object of type AbstractResource and ImageResource
extends AbstractResource (similar to your case of Type1 extending
AbstractType)
> >
> >
> >
> > You could check your xmlbeans src to see what the class hierarchy is.
> >
> >
> >
> >
> >
> >
> >
> > ________________________________

> >
> > From: Spike Mulligan [mailto:[EMAIL PROTECTED]
> > Sent: Monday, June 11, 2007 9:55 AM
> >
> > To: [email protected]
> > Subject: Re: AXIS2 + wsdl2java + XMLBeans not producing correct binding
> >
> >
> >
> >
> >
> >
> >
> >
> > Right so checking the schematype gives me the parent type and casting
the parent type to the inheiriting type gives me a runtime exception.
> >
> > Have you ever gotten this to work?  Do you think maybe my soap message
or my xsd may be wrong?
> >
> >
> > On 6/11/07, Mohana Ramaratnam < [EMAIL PROTECTED]> wrote:
> >
> >
> >
> > I think you can invoke the method schemaType to check the xsiType
> >
> >
> >
> > ________________________________

> >
> > From: Spike Mulligan [mailto: [EMAIL PROTECTED]
> > Sent: Monday, June 11, 2007 7:48 AM
> > To: [email protected]
> > Subject: Re: AXIS2 + wsdl2java + XMLBeans not producing correct binding
> >
> >
> >
> >
> > Okay, but how do I check at runtime whether its Type1 or Type2?
> >
> >
> > On 6/11/07, Mohana Ramaratnam <[EMAIL PROTECTED] > wrote:
> >
> >
> >
> > You will have to use the method changeType and typecast the result back
to the Type1 class.
> >
> >
> >
> > Mohana
> >
> >
> >
> > ________________________________

> >
> > From: Spike Mulligan [mailto: [EMAIL PROTECTED]
> > Sent: Monday, June 11, 2007 5:29 AM
> > To: [email protected]
> > Subject: AXIS2 + wsdl2java + XMLBeans not producing correct binding
> >
> >
> >
> >
> >
> >
> > So I have a schema containing the following structure:
> >
> > AbstractType
> >       /    \
> >      /      \     extension
> >    /          \
> > Type1    Type2
> >
> >
> > When I send the service an instance of Type1 for example using
xsi:type="ns1:Type1", it should give me the Type1 class(which wsdl2java
generated and which extends the AbstractType class).
> >
> > Instead it gives me a class of type AbstractType!
> >
> > Has anyone successfully done this?  Does it work?  Is this the expected
behaviour of XML beans?  What am I doing wrong?
> >
> >
> >
> >
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to