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




Reply via email to