Hi Anne,
Thank you for the response. Sorry, <brand> is of type <BrandReferenceType>:
<xs:complexType name="BrandReferenceType">
<xs:sequence>
<xs:element name="brandCode" type="BrandTypes"/>
</xs:sequence>
</xs:complexType>
I have since tried to work around this by skipping the complex type
(not ideal - limiting future extensibility) but of course ran into the
same problem further on in my message, I have used xsd:enumerations
all over.
I guess my WSDL is not conforming to wrapped style then, hmmm, all
operations only has one parameter (wrapped containing multiple
parameters underneath of course).
Thanks,
Peter
On 8/2/05, Anne Thomas Manes <atmanes@gmail.com> wrote:
> What's the schema for <brand>?
>
> In order for wsdl2java to produce WSDD style="wrapped", your WSDL must
> conform to the wrapped convention. Then it's automatic unless you
> specify --unwrapped.
>
> Anne
>
> On 8/1/05, Peter <peter.van.rensburg@gmail.com> wrote:
> > Hi,
> >
> > I'm having a bit of a problem with XML schema enumeration types it
> > seems. I have the following XSD:
> >
> > <xs:complexType name="BrandReferenceType">
> > <xs:sequence>
> > <xs:element name="brandCode" type="BrandTypes"/>
> > </xs:sequence>
> > </xs:complexType>
> >
> > <xs:simpleType name="BrandTypes">
> > <xs:restriction base="xs:string">
> > <xs:enumeration value="BRANDA"/>
> > <xs:enumeration value="BRANDB"/>
> > <xs:enumeration value="BRANDC"/>
> > </xs:restriction>
> > </xs:simpleType>
> >
> > I used WSDL2Java to generate my objects from that, so basically in my
> > code I'm using:
> >
> > BrandReferenceType brandRef = new BrandReferenceType();
> > brandRef.setBrandCode(BrandTypes.BRANDA);
> >
> > Account account = new Account();
> > account.setBrand(brandRef);
> >
> > The serialized (excerpt) message looks this (looks fine?):
> >
> > <Account xmlns="http://xxx/EDI/types/messages">
> > <ns2:accountId xmlns:ns2="http://xxxx/EDI/types/common">1
> > </ns2:accountId>
> > <ns3:brand xmlns:ns3="http://xxx/EDI/types/common">
> > <ns3:brandCode>BRANDA
> > </ns3:brandCode>
> > </ns3:brand>
> >
> > However I run into this problem on the server when I invoke a method
> > consuming an Account object:
> >
> > ~~~~~~~~~
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.encoding.DeserializationContext] Enter:
> > DeserializationContext::startElement(http://schemas.prophet.net/EDI/types/common,
> > brand)
> > 2005-08-01 14:08:02,647 DEBUG [org.apache.axis.message.RPCHandler]
> > Enter: RPCHandler.onStartChild()
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.i18n.ProjectResourceBundle]
> > org.apache.axis.i18n.resource::handleGetObject(typeFromAttr00)
> > 2005-08-01 14:08:02,647 DEBUG [org.apache.axis.message.RPCHandler]
> > Type from attributes is: null
> > 2005-08-01 14:08:02,647 DEBUG [org.apache.axis.message.RPCHandler]
> > Exit: RPCHandler.onStartChild()
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.i18n.ProjectResourceBundle]
> > org.apache.axis.i18n.resource::handleGetObject(pushHandler00)
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.encoding.DeserializationContext] Pushing handler
> > org.apache.axis.encoding.DeserializerImpl@1b22920
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.i18n.ProjectResourceBundle]
> > org.apache.axis.i18n.resource::handleGetObject(gotType00)
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.encoding.DeserializerImpl] Deser got type
> > {http://www.w3.org/2001/XMLSchema}string
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.encoding.DeserializationContext] Exit:
> > DeserializationContext::startElement()
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.encoding.DeserializationContext] Enter:
> > DeserializationContext::startElement(http://schemas.prophet.net/EDI/types/common,
> > brandCode)
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.i18n.ProjectResourceBundle]
> > org.apache.axis.i18n.resource::handleGetObject(cantHandle00)
> > 2005-08-01 14:08:02,647 DEBUG
> > [org.apache.axis.i18n.ProjectResourceBundle]
> > org.apache.axis.i18n.resource::handleGetObject(toAxisFault00)
> > 2005-08-01 14:08:02,647 DEBUG [org.apache.axis.enterprise] Mapping
> > Exception to AxisFault
> > org.xml.sax.SAXException: SimpleDeserializer encountered a child
> > element, which is NOT expected, in something it was trying to
> > deserialize.
> > at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
> > at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
> > ~~~~~~~~~
> >
> > So it seems that it does not expect the element <brandCode> inside
> > <brand>, which seems perfectly valid to me (and XMLSpy ;)
> >
> > Any ideas?
> >
> > Incidentally, how can I tell wsdl2java ant task to generated a
> > style="wrapped" wsdd as apposed to style="document" ?
> >
> > Thank you,
> > Peter
> >
>
|