I have been trying to learn how to use JiBX for one of my projects and I
have run into quite a few errors when using jibx2wsdl according to the
examples that I was hoping someone would help me solve.  So my apologies
for the generic message title but I thought it would be better than
sending a lot of small emails.

First off, say I have the following source files

src/com/bug/Test.java:
package com.bug;
public class Test{public static Parent getChildAsParent() {return new
Child();}}
src/com/bug/Parent.java:
package com.bug;
public class Parent{public int x;public Parent(){this.x=0;}}
src/com/bug/Child.java:
package com.bug;
public class Child extends Parent{public int y;public
Child(){this.y=0;}}

I don't think it is necessary to setup a build.xml for this project
since simply running javac src/com/bug/*.java will suffice.

I would first like to note that unless the source files are part of the
package com.bug, this will not work.  It seems that the files must be
part of a package at least 2 levels deep.  Though I can deal with this,
to me it seems like a bug.  Especially since, if the source files are
not nested at least 2 levels deep, the generated error message is not
useful at all for solving the problem (it is a NullPointerException with
no explanation).

Then, if I run the command, java -cp $JIBX_HOME/lib/jibx-tools.jar
org.jibx.ws.wsdl.tools.Jibx2Wsdl -p src -t output -v com.bug.Test

I get a wsdl file but no binding.xml or *.xsd file.  Furthermore, the
wsdl file is all but empty, containing no reference to any of the
methods exposed by the class Test (the <wsdl:portType> tag has no
children).
Here is the generated WSDL file:
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:soap="http
://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://bug.com/Test";
targetNamespa
ce="http://bug.com/Test";>
  <wsdl:types/>
  <wsdl:portType name="TestPortType"/>
  <wsdl:binding name="TestBinding" type="tns:TestPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
style="docume
nt"/>
  </wsdl:binding>
  <wsdl:service name="Test">
    <wsdl:port name="TestPort" binding="tns:TestBinding">
      <soap:address
location="http://localhost:8080/axis2/services/Test"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

This also seems like a bug to me and I was hoping someone would have
some advice for how to fix it.  I would at least like the WSDL file to
contain a reference to some of the methods exposed on Test (as this is,
after all, the entire reason for generating the WSDL file).  I was also
expecting a binding.xml file and a schema file to be generated.

Since no bindings were being generated, I tried to include the classes
manually with the -x switch.  So I ran the following command:

java -cp $JIBX_HOME/lib/jibx-tools.jar org.jibx.ws.wsdl.tools.Jibx2Wsdl
-p src -x com.bug.Child -x com.bug.Parent -x com.bug.Test -t output -v
com.bug.Test

However, this generates the error: "Error: 'extends' mapping not usable
as schema extension base; on mapping element at (line 6, col 72, in
binding.xml)"

After running this command, I find a binding.xml file in the output
directory but no wsdl or xsd files.  It seems that I am not allowed to
use -x with Parent and Child at the same time.

This also seems like a bug to me since I checked the generated
binding.xml file and it looks just like the one described here:
http://jibx.sourceforge.net/binding/tutorial/binding-mappings.html#inherit

If these are bugs, I was hoping someone would be able to help me come up
with a work-around.  Otherwise, could someone please explain to me what
I am doing wrong?

Thanks,
John Edmonds


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to