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 <[EMAIL PROTECTED]>

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 <[EMAIL PROTECTED]>
>
> 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

Reply via email to