Dennis, In Matt's case, IPojoClass and PojoClass are in the same package, thus no need for an import. The issue there seems to be that BindGen doesn't like operating on an interface, but works just fine operating on the implementing class.
However, that is not the real problem. The main issue is that while running BindGen on PojoClass produces the correct schema, running Jibx2Wsdl on PojoClass does not. Operating under the assumption that Jibx2Wsdl calls on BindGen, how can this be?? Thanks, Greg On Mon, Aug 3, 2009 at 3:03 PM, Dennis Sosnoski <[email protected]> wrote: > Hi Matt, > > There's some sort of inconsistency here. Your interface defines methods > taking and returning objects of type Status, yet the definition you've > provided for Status is as an inner class within PojoClass (meaning it > couldn't be referenced directly from the interface, as you've shown). What's > the definition of the Status class referenced by the interface, which is > where you're experiencing the actual problems? (Hint: check the imports of > the IPojoClass) > > - Dennis > > > Matt Schmidt wrote: > >> Also, when I run BindGen on this class, I do get the correct schema for >> the enum. However, it does not work with an interface. I get the same, >> malformed schema as before, along with the warning: >> >> "Warning: generating mapping for interface com.test.matt.IPojoClass >> without checking properties." >> >> public interface IPojoClass { >> public Status getStatus(); >> public void setStatus(Status status); >> } >> >> So that leads me to two questions: >> >> 1) It was my understanding that Jibx2Wsdl used BindGen to generate the >> bindings. Why then does it give me 2 different schemas? >> >> 2) Is there some sort of visibilty problem for the Status enum type? >> BindGen works correctly in PojoClass (where Status is defined), but not in >> IPojoClass (they are in the same package) >> >> >> Thanks for the help... >> >> On Mon, Aug 3, 2009 at 9:30 AM, Matt Schmidt <[email protected]<mailto: >> [email protected]>> wrote: >> >> For simplicity, I've created a very bare class that only has 1 >> member, the enumeration.... >> >> >> package com.test.matt; >> >> public class PojoClass { >> protected enum Status { >> ACCEPTED("ACCEPTED"), >> REJECTED("REJECTED"); >> private final String status; >> Status (String status) { >> this.status = status; >> } >> @Override >> public String toString() { >> return status; >> } >> } >> private Status test; >> public Status getStatus() { >> return test; >> } >> public void setStatus(Status status) { >> test = status; >> } >> } >> >> >> And I am running Jibx2Wsdl with the following command: >> >> java -cp <jibx-tools.jar>;<my jar> >> org.jibx.ws.wsdl.tools.Jibx2Wsdl com.test.matt.PojoClass >> >> which gives me the following xsd: (the wsdl looks ok) >> >> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >> xmlns:tns="http://com.test/matt" elementFormDefault="qualified" >> targetNamespace="http://com.test/matt"> >> <xs:complexType name="pojoClassStatus"> >> <xs:sequence/> >> </xs:complexType> >> </xs:schema> >> >> >> thanks... >> >> >> >> On Fri, Jul 31, 2009 at 9:59 PM, Dennis Sosnoski <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hi Matt, >> >> I don't know of any reason why Jibx2Wsdl would generate the >> schema fragment you've shown for an enum reference. How does >> your code use the enum? And what's the enum definition look >> like, for that matter? >> >> - Dennis >> >> >> Matt Schmidt wrote: >> >> It's been a few days, but I finally got around to trying >> out Jibx2Wsdl. Unfortunately, it does not produce the >> correct schema for enums either. My simple status enum >> produces the following xml: >> >> <xs:complexType name="pojoClassStatus"> >> <xs:sequence/> >> </xs:complexType> >> >> How can I generate this correctly? >> >> >> On Tue, Jul 21, 2009 at 12:59 PM, Dennis Sosnoski >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> wrote: >> >> robert lazarski wrote: >> >> Yes, use Jibx2Wsdl from jibx instead of java2wsdl. >> jibx seems >> to support enums: >> >> http://jibx.sourceforge.net/tutorial/binding-advanced.html >> >> A somewhat dated article here shows how to use >> Jibx2Wsdl - try >> googling for something with the latest release. >> >> http://www.infoq.com/articles/sosnoski-code-first >> >> Beat me to it, Robert! >> >> There's a newer (and more in-depth) article on Jibx2Wsdl at >> >> http://www.ibm.com/developerworks/java/tutorials/j-jibx1/ >> There's >> also a companion one covering code generation from >> schema with >> JiBX at >> http://www.ibm.com/developerworks/java/tutorials/j-jibx2/ >> >> - Dennis >> >> -- Dennis M. Sosnoski >> Java XML and Web Services >> Axis2 Training and Consulting >> http://www.sosnoski.com - http://www.sosnoski.co.nz >> Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117 >> >> >> >> >>
