cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Ma <...@iona.com>
Subject Re: WSDLToJava Error : Thrown by JAXB : undefined element declaration 'ns1:orderBy'
Date Wed, 09 Jan 2008 02:16:35 GMT
Hi Monica,

Forget to mention .  Search it in  java to wsdl 's log .

Regards

Jim

Monica Ferrero wrote:
>
> Hi Jim,
>
> Changed the logging level to FINE as you indicated and run the wsdl to 
> java on my wsdl, but there is no such a message in there as "Classes 
> known to this context:". I've search for "classes" and " context" as 
> well and there is nothing on those lines.
> There are some exceptions that I'm not sure there are relevant. I add 
> here the last one before the error.
>
> Thanks for your help,
>
> Monica
>
>
> [exec] 08-Jan-2008 10:19:57 
> com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory get
> [exec] FINE: Using optimized Accessor for 
> com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding$UnderscoreBinding 
> com.sun.tools.xjc.re
> ader.xmlschema.bindinfo.BIGlobalBinding.getUnderscoreBinding() and 
> void 
> com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding.setUnderscore
> Binding(com.sun.tools.xjc.reader.xmlschema.bindinfo.BIGlobalBinding$UnderscoreBinding)
> [exec] 08-Jan-2008 10:19:57 
> com.sun.xml.bind.v2.runtime.reflect.opt.Injector inject
> [exec] FINE: Unable to inject 
> com/sun/tools/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute$JaxbAccessorF_collectionType
> [exec] java.lang.reflect.InvocationTargetException
> [exec] at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> [exec] at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [exec] at java.lang.reflect.Method.invoke(Method.java:597)
> [exec] at 
> com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:125)
> [...]
> [exec] at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:171)
> [exec] Caused by: java.lang.LinkageError: loader (instance of 
> sun/misc/Launcher$AppClassLoader): attempted duplicate class 
> definition for
> name: 
> "com/sun/tools/xjc/reader/xmlschema/bindinfo/CollectionTypeAttribute$JaxbAccessorF_collectionType"
> [exec] at java.lang.ClassLoader.defineClass1(Native Method)
> [exec] at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> [exec] at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
> [exec] ... 84 more
>
> Inactive hide details for Jim Ma ---08/01/2008 02:56:05---Hi 
> Monica,Jim Ma ---08/01/2008 02:56:05---Hi Monica,
>
>
> From: 	
> Jim Ma <ema@iona.com>
>
> To: 	
> cxf-user@incubator.apache.org
>
> Date: 	
> 08/01/2008 02:56
>
> Subject: 	
> Re: WSDLToJava Error : Thrown by JAXB : undefined element declaration 
> 'ns1:orderBy'
>
> ------------------------------------------------------------------------
>
>
>
> Hi Monica,
>
> You can change the log level to FINE (modify the log configuration file
> under ${CXF_HOME}/etc/logging.properties)
> to see if the OrderBy classes added to JAXB Context when you run
> java2wsdl tool .
>
> Search "Classes known to this context:" in the log file to see  if this
> class is known to JAXB.
>
> Regards
>
> Jim
>
>
> Monica Ferrero wrote:
> >
> > Hi Jim,
> >
> > Thank you for your reply.
> >
> > Item and OrderBy are generated by JAXB from a schema.xsd file.
> > I have followed your advice to see if it behaves any different but I
> > still get the same error.
> >
> > The Item and therefore OrderBy classes belong to a different JAXB
> > context: com.aaa.bbb.zzz.jaxb, but not sure if/how to indicate this?
> >
> > Thanks for your help,
> >
> > Monica
> >
> > Inactive hide details for Jim Ma ---07/01/2008 02:22:26---Hi ,Jim Ma
> > ---07/01/2008 02:22:26---Hi ,
> >
> >
> > From:
> > Jim Ma <ema@iona.com>
> >
> > To:
> > cxf-user@incubator.apache.org
> >
> > Date:
> > 07/01/2008 02:22
> >
> > Subject:
> > Re: WSDLToJava Error : Thrown by JAXB : undefined element declaration
> > 'ns1:orderBy'
> >
> > ------------------------------------------------------------------------
> >
> >
> >
> > Hi ,
> >
> > From the error message , I think this is caused by the inner class
> > OrderBy is not loaded into
> > JAXB context . Can you modify this class as a outer class and try it
> > again ?
> > I will look it further to see if the JAXB can not load the inner static
> > class .
> >
> > Thanks
> >
> > Jim
> >
> >
> > Monica Ferrero wrote:
> > > Hi!
> > >
> > > I'm getting this error:
> > >
> > > WSDLToJava Error : Thrown by JAXB : undefined element declaration
> > > 'ns1:orderBy'
> > >
> > > when trying to generate java stubs from the wsdl.
> > >
> > >
> > > This is my original service:
> > >
> > > @WebService(endpointInterface = "com.aaa.bbb.ccc.MyService")
> > > public interface MyService {
> > >
> > >     [...]
> > >
> > >     @WebResult(name="MyList")
> > >     @WebMethod
> > >     MyList getItems( @WebParam(name="listId") int listId);
> > >
> > >     [...]
> > > }
> > >
> > >
> > > the MyList class:
> > >
> > > @XmlAccessorType(XmlAccessType.FIELD)
> > > @XmlType(name = "", propOrder = {"items"})
> > > @XmlRootElement(name = "myList")
> > > public class MyList {
> > >
> > >     @XmlElement(required = true)
> > >     private List<Item> items;
> > >
> > >     public List<Item> getItems() {
> > >         if (items == null) {
> > >             items = new ArrayList<Item>();
> > >         }
> > >         return items;
> > >     }
> > >
> > >     public void setItems(List<Item> items) {
> > >         this.items = items;
> > >     }
> > > }
> > >
> > >
> > > The Item is a JAXB generated file from a schema:
> > >
> > >
> > > @XmlAccessorType(XmlAccessType.FIELD)
> > > @XmlType(name = "", propOrder = {
> > >     "attributesPD",
> > >     "orderBy"
> > > })
> > > @XmlRootElement(name = "item")
> > > public class Item {
> > >
> > >     @XmlElement(name = "attributes", required = true)
> > >     protected AttributesPD attributesPD;
> > >     protected Item.OrderBy orderBy;
> > >     @XmlAttribute
> > >     @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
> > >     @XmlSchemaType(name = "token")
> > >     protected String id;
> > >     @XmlAttribute
> > >     @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
> > >     @XmlSchemaType(name = "token")
> > >     protected String createdBy;
> > >     @XmlAttribute
> > >     @XmlSchemaType(name = "date")
> > >     protected XMLGregorianCalendar creationDate;
> > >
> > >     public AttributesPD getAttributesPD() {
> > >         return attributesPD;
> > >     }
> > >
> > >     public void setAttributesPD(AttributesPD value) {
> > >         this.attributesPD = value;
> > >     }
> > >
> > >     public Item.OrderBy getOrderBy() {
> > >         return orderBy;
> > >     }
> > >
> > >     public void setOrderBy(Item.OrderBy value) {
> > >         this.orderBy = value;
> > >     }
> > >
> > >     public String getId() {
> > >         return id;
> > >     }
> > >
> > >     public void setId(String value) {
> > >         this.id = value;
> > >     }
> > >
> > >     public String getCreatedBy() {
> > >         return createdBy;
> > >     }
> > >
> > >     public void setCreatedBy(String value) {
> > >         this.createdBy = value;
> > >     }
> > >
> > >     public XMLGregorianCalendar getCreationDate() {
> > >         return creationDate;
> > >     }
> > >
> > >     public void setCreationDate(XMLGregorianCalendar value) {
> > >         this.creationDate = value;
> > >     }
> > >
> > >
> > >     @XmlAccessorType(XmlAccessType.FIELD)
> > >     @XmlType(name = "", propOrder = {
> > >         "orderedAttributeRef"
> > >     })
> > >     public static class OrderBy {
> > >
> > >         @XmlElement(required = true)
> > >         protected List<OrderedAttributeRefType> orderedAttributeRef;
> > >
> > >         public List<OrderedAttributeRefType> 
> getOrderedAttributeRef() {
> > >             if (orderedAttributeRef == null) {
> > >                 orderedAttributeRef = new
> > > ArrayList<OrderedAttributeRefType>();
> > >             }
> > >             return this.orderedAttributeRef;
> > >         }
> > >     }
> > > }
> > >
> > >
> > >
> > > The wsdl generated by cxf:
> > >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> > > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> > > xmlns:tns="http://myservice.bbb.aaa.com/"
> > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> name="MyServiceImplService"
> > > targetNamespace="http://myservice.bbb.aaa.com/">
> > >       <wsdl:types>
> > >             <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > > xmlns:tns="http://www.aaa.com/AaaOtherService"
> > > attributeFormDefault="unqualified" elementFormDefault="qualified"
> > > targetNamespace="http://www.aaa.com/AaaOtherService">
> > > [...]
> > >                   <xs:element name="item">
> > >                         <xs:complexType>
> > >                               <xs:sequence>
> > >                                     <xs:element ref="tns:attributes"/>
> > >                                     <xs:element minOccurs="0"
> > > name="orderBy">
> > >                                           <xs:complexType>
> > >                                                 <xs:sequence>
> > >                                                       <xs:element
> > > maxOccurs="unbounded" name="orderedAttributeRef"
> > > type="tns:orderedAttributeRefType"/>
> > >                                                 </xs:sequence>
> > >                                           </xs:complexType>
> > >                                     </xs:element>
> > >                               </xs:sequence>
> > >                               <xs:attribute name="id" 
> type="xs:token"/>
> > >                               <xs:attribute name="createdBy"
> > > type="xs:token"/>
> > >                               <xs:attribute name="creationDate"
> > > type="xs:date"/>
> > >                         </xs:complexType>
> > >                   </xs:element>
> > > [...]
> > >             </xs:schema>
> > >             <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > > xmlns="http://myservice.bbb.aaa.com/"
> > > xmlns:ns1="http://www.aaa.com/AaaOtherService"
> > > attributeFormDefault="unqualified" elementFormDefault="unqualified"
> > > targetNamespace="http://myservice.bbb.aaa.com/">
> > >                   <xs:import
> > > namespace="http://www.aaa.com/AaaOtherService"/>
> > >                   <xs:element name="myList">
> > >                         <xs:complexType>
> > >                               <xs:sequence>
> > >                                     <xs:element maxOccurs="unbounded"
> > > name="items">
> > >                                           <xs:complexType>
> > >                                                 <xs:sequence>
> > >                                                       <xs:element
> > > ref="ns1:attributes"/>
> > >                                                       <xs:element
> > > minOccurs="0" ref="ns1:orderBy"/>
> > >                                                 </xs:sequence>
> > >                                                 <xs:attribute 
> name="id"
> > > type="xs:token"/>
> > >                                                 <xs:attribute
> > > name="createdBy" type="xs:token"/>
> > >                                                 <xs:attribute
> > > name="creationDate" type="xs:date"/>
> > >                                           </xs:complexType>
> > >                                     </xs:element>
> > >                               </xs:sequence>
> > >                         </xs:complexType>
> > >                   </xs:element>
> > > [...]
> > >                   <xs:element name="getItemsResponse"
> > > type="getItemsResponse"/>
> > >                   <xs:complexType name="getItemsResponse">
> > >                         <xs:sequence>
> > >                               <xs:element minOccurs="0" ref="myList"/>
> > >                         </xs:sequence>
> > >                   </xs:complexType>
> > > [...]
> > >             </xs:schema>
> > >       </wsdl:types>
> > > [...]
> > > </wsdl:definitions>
> > >
> > >
> > >
> > > I think it's a bit weird that it defines myList as a sequence of the
> > > elements that form an Item, instead of a sequence of items.
> > > Anyway I'm not sure why it does not work if it is mostly all generated
> > > code.
> > > Any ideas?
> > >
> > > Help or pointers very much appreciated!
> > >
> > >
> > > Monica

Mime
View raw message