Hi Peter,

This issue with the Ant task not finding the serializer/deserializers is a good point, and something I should mention in the documentation. But as a workaround to use the Ant task, this works:

 <taskdef name="bind".../>
 <bind>
   <classpath>
     <pathelement path="bin"/>
     <pathelement path="${jibx-lib}/jibx-run.jar"/>
   </classpath>
   ...

 - Dennis

Peter Birchmeier wrote:

Hi Ivens,

I just came accross this problem a few hours ago. The problem is that JiBX uses the serializer/deserializer class org.jibx.runtime.Utility which belongs to the jibx-run.jar library. If you use the ant task to bind your classes, by default only the jibx-bind.jar library is included in the classpath of the ant task definition:

snippet from http://jibx.sourceforge.net/bindcomp.html:

 <!-- JiBX binding compiler task definition -->
 <taskdef name="bind" classname="org.jibx.binding.ant.CompileTask"
   classpath="${jibx-lib}/jibx-bind.jar"/>

I manually tried to include the other library as well:

    <!-- JiBX binding compiler task definition -->
<taskdef name="jibx-bind" classname="org.jibx.binding.ant.CompileTask">
        <classpath>
            <pathelement path="${jibx.lib}/jibx-bind.jar"/>
            <pathelement path="${jibx.lib}/jibx-run.jar"/>
        </classpath>
    </taskdef>

Unfortunately this approach hasn't worked. see why: http://www.mail-archive.com/[email protected]/msg01565.html



SOLUTION:

If you bind the classes by executing the JiBX compilation directly, everything works perfectly.

In Eclipse you can configure the JiBX binding as an external tool:


Location: C:\bin\dev\java\jdk1.5.0\bin\java.exe
Working Directory: ${workspace_loc:/commons/build/classes-core}

Arguments:
-cp .;../../lib/jibx/jibx-bind.jar;../../lib/jibx/jibx-run.jar
org.jibx.binding.Compile resources/xml-binding/*.xml


Of course there are other ways, but for me that works fine.

Kind regards, Peter





Ivens Porto wrote:

Hello,

I´m using Jibx in a project of mine and I need to use the 'default'
attribute with a <value> in my binding.

The problem is that after I put the 'default' attribute to the <value>
of my binding the bind compiler cannot compile my binding anymore.

The binding definition is like this:

<value name="totalVotes"
          get-method="getTotalVotes"
          set-method="setTotalVotes"
          usage="optional"
          default="-9999"
          test-method="hasTotalVotes"/>

The binding compiler give me this error:

---------------------------------------------------------------------------------------------------------------
     [bind] Error running binding compiler
     [bind] *** Error during code generation - please enter a bug
report for this error in Jira if the problem is not listed as fixed on
the online status page ***
     [bind] org.jibx.runtime.JiBXException: Deserializer class
org.jibx.runtime.Utility not found for converting default value
[bind] at org.jibx.binding.def.PrimitiveStringConversion.convertDefault(PrimitiveStringConversion.java:412) [bind] at org.jibx.binding.def.PrimitiveStringConversion.derive(PrimitiveStringConversion.java:508) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalValue(BindingBuilder.java:629) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalStructureChildren(BindingBuilder.java:812) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalMapping(BindingBuilder.java:1536) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalMappings(BindingBuilder.java:944) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalInclude(BindingBuilder.java:1652) [bind] at org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilder.java:1717)
     [bind] at org.jibx.binding.Utility.loadBinding(Utility.java:308)
[bind] at org.jibx.binding.Utility.loadFileBinding(Utility.java:389)
     [bind] at org.jibx.binding.Compile.compile(Compile.java:296)
[bind] at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:248) [bind] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
     [bind] at org.apache.tools.ant.Task.perform(Task.java:364)
     [bind] at org.apache.tools.ant.Target.execute(Target.java:341)
     [bind] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[bind] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) [bind] at org.apache.tools.ant.Project.executeTarget(Project.java:1185) [bind] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) [bind] at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) [bind] at org.apache.tools.ant.Project.executeTargets(Project.java:1068) [bind] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423) [bind] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) ---------------------------------------------------------------------------------------------------------------

If I take out the 'default' attribute the binding compiler compiles my binding.

Any help?


Regards,
Ivens


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users





-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to