Discussion:
[jibx-users] Problem with JiBX compiler
Scott, Sean
2003-08-06 16:16:31 UTC
Permalink
Last night I ran across JiBX and thought it may meet some of our XML
requirements. So I am trying to write a simple test case in one of our
existing projects that utilizes it.

My problems started while trying to add the bind task to our build.xml file
following the instructions provided with JiBX and continued once I got the
JiBX compiler to run. When bind ran, it always failed with a
java.lang.IncompatibleClassChangeError. Our ant scripts do a lot of stuff
with weblogic and other crap so I figured it was some sort of class
incompatibility with stuff that JiBX uses. So I tried running the compile
from the command line and got it to work, and ended up adding this fragment
to our compile target in our build.xml.

All substitutions contain fully qualified paths.
<java classname="org.jibx.binding.Compile" fork="true">
<classpath>
<pathelement path="${build.dest.classes}"/>
<pathelement path="${build.classpath}" />
<pathelement location="${build.lib.3rdParty}/bcel.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-bind.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-run.jar"/>
<pathelement location="${build.lib.3rdParty}/xpp3.jar"/>
</classpath>
<arg line="${build.src.conf}/binding.xml" />
</java>

Here is my binding.xml:

<!DOCTYPE binding SYSTEM "binding.dtd">
<binding forwards="false">
<mapping name="campaign"
class="com.thc.ids.domainobjects.ams.Campaign">
<value style="attribute" name="name" field="_name"/>
<value style="attribute" name="startDate" field="_startDate"/>
<value style="attribute" name="endDate" field="_endDate"/>
</mapping>
</binding>

The binding compiler modifies the Campaign.class file and creates 2 more
classes in the same package:
JiBX_bindingCampaign_access.class
JiBX_bindingFactory.class





!! THIS IS THE POINT OF THE EMAIL !!

I deploy the app in weblogic and run my cactus test case ( Below ) and get
this exception:

1) testIt(com.thc.ids.api.services.business.ams.test.TestJiBX)
org.jibx.runtime.JiBXException: Unable to access binding information for
class com.thc.ids.domainobj
ects.ams.Campaign
Root cause: java.lang.ClassNotFoundException:
com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bind
ingFactory
at
org.jibx.runtime.BindingDirectory.getFactory(BindingDirectory.java:141)
at
com.thc.ids.api.services.business.ams.test.TestJiBX.testIt(TestJiBX.java:45)
at
org.apache.cactus.AbstractTestCase.runServerTest(AbstractTestCase.java:491)


It looks like the information implanted in Campaign.class for the binding
factory is com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bindingFactory
but the class that was generated was called
com.thc.ids.domainobjects.ams.JiBX_bindingFactory.



Test case:
public void testIt() throws Exception
{
String campaignXML = "<campaign name='name'
startDate='2003-03-21T01:33:00' endDate='2003-08-21T01:33:00'/>";
IBindingFactory bfact = BindingDirectory.getFactory(Campaign.class);
IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
Campaign campaign = (Campaign) uctx.unmarshalDocument(new
StringReader(campaignXML));
insertCampaign(campaign);
System.out.println( campaign.toString() );

IMarshallingContext ictx = bfact.createMarshallingContext();
ictx.marshalDocument( campaign, null, null, System.out );

}

Thanks,

-sean



Sean Scott
Senior Software Engineer
Thomson MICROMEDEX
***@mdx.com
303-486-6403
Scott, Sean
2003-08-06 22:28:05 UTC
Permalink
Hmm, now I am wondering if I am the only one on the list. Anyone out there?

-----Original Message-----
From: Scott, Sean [mailto:***@mdx.com]
Sent: Wednesday, August 06, 2003 10:17 AM
To: 'jibx-***@lists.sourceforge.net'
Cc: Horblit, Brian
Subject: [jibx-users] Problem with JiBX compiler


Last night I ran across JiBX and thought it may meet some of our XML
requirements. So I am trying to write a simple test case in one of our
existing projects that utilizes it.

My problems started while trying to add the bind task to our build.xml file
following the instructions provided with JiBX and continued once I got the
JiBX compiler to run. When bind ran, it always failed with a
java.lang.IncompatibleClassChangeError. Our ant scripts do a lot of stuff
with weblogic and other crap so I figured it was some sort of class
incompatibility with stuff that JiBX uses. So I tried running the compile
from the command line and got it to work, and ended up adding this fragment
to our compile target in our build.xml.

All substitutions contain fully qualified paths.
<java classname="org.jibx.binding.Compile" fork="true">
<classpath>
<pathelement path="${build.dest.classes}"/>
<pathelement path="${build.classpath}" />
<pathelement location="${build.lib.3rdParty}/bcel.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-bind.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-run.jar"/>
<pathelement location="${build.lib.3rdParty}/xpp3.jar"/>
</classpath>
<arg line="${build.src.conf}/binding.xml" />
</java>

Here is my binding.xml:

<!DOCTYPE binding SYSTEM "binding.dtd">
<binding forwards="false">
<mapping name="campaign"
class="com.thc.ids.domainobjects.ams.Campaign">
<value style="attribute" name="name" field="_name"/>
<value style="attribute" name="startDate" field="_startDate"/>
<value style="attribute" name="endDate" field="_endDate"/>
</mapping>
</binding>

The binding compiler modifies the Campaign.class file and creates 2 more
classes in the same package:
JiBX_bindingCampaign_access.class
JiBX_bindingFactory.class





!! THIS IS THE POINT OF THE EMAIL !!

I deploy the app in weblogic and run my cactus test case ( Below ) and get
this exception:

1) testIt(com.thc.ids.api.services.business.ams.test.TestJiBX)
org.jibx.runtime.JiBXException: Unable to access binding information for
class com.thc.ids.domainobj
ects.ams.Campaign
Root cause: java.lang.ClassNotFoundException:
com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bind
ingFactory
at
org.jibx.runtime.BindingDirectory.getFactory(BindingDirectory.java:141)
at
com.thc.ids.api.services.business.ams.test.TestJiBX.testIt(TestJiBX.java:45)
at
org.apache.cactus.AbstractTestCase.runServerTest(AbstractTestCase.java:491)


It looks like the information implanted in Campaign.class for the binding
factory is com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bindingFactory
but the class that was generated was called
com.thc.ids.domainobjects.ams.JiBX_bindingFactory.



Test case:
public void testIt() throws Exception
{
String campaignXML = "<campaign name='name'
startDate='2003-03-21T01:33:00' endDate='2003-08-21T01:33:00'/>";
IBindingFactory bfact = BindingDirectory.getFactory(Campaign.class);
IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
Campaign campaign = (Campaign) uctx.unmarshalDocument(new
StringReader(campaignXML));
insertCampaign(campaign);
System.out.println( campaign.toString() );

IMarshallingContext ictx = bfact.createMarshallingContext();
ictx.marshalDocument( campaign, null, null, System.out );

}

Thanks,

-sean



Sean Scott
Senior Software Engineer
Thomson MICROMEDEX
***@mdx.com
303-486-6403



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
Dennis Sosnoski
2003-08-07 07:42:56 UTC
Permalink
Hi Sean,

There's actually a fair number of people on the list, though I'm the one
who does most of the replies.

I haven't seen your problems before. Can you give me any more details on
what went wrong in using the Ant task? Also, if anyone else on the list
has experienced similar problems I'd like to know.

Likewise on the binding factory problem. JiBX modifies the factory name
based on the binding definition name (either given explicitly in the
definition, or as the name of the binding definition file). Did you
perhaps use the "AdMgmtSvc_conf" as a name of the binding file at some
point? That's the only thing I can think of offhand that could cause
this type of problem. It's possible that if you change the name of the
binding definition file and rerun the binding it might not pick up that
the bound classes need to be modified.

If that's what happened I suggest you delete the whole set of class
files and do a clean build of your classes, then run the binding
compiler again. Otherwise, if you can ship me (directly, rather than
sending to the list) the set of modified class files I'll take a look to
see if I can figure anything out.

- Dennis

(Reply sent earlier, but I forgot to cc the list)
Post by Scott, Sean
Hmm, now I am wondering if I am the only one on the list. Anyone out there?
-----Original Message-----
Sent: Wednesday, August 06, 2003 10:17 AM
Cc: Horblit, Brian
Subject: [jibx-users] Problem with JiBX compiler
Last night I ran across JiBX and thought it may meet some of our XML
requirements. So I am trying to write a simple test case in one of our
existing projects that utilizes it.
My problems started while trying to add the bind task to our build.xml file
following the instructions provided with JiBX and continued once I got the
JiBX compiler to run. When bind ran, it always failed with a
java.lang.IncompatibleClassChangeError. Our ant scripts do a lot of stuff
with weblogic and other crap so I figured it was some sort of class
incompatibility with stuff that JiBX uses. So I tried running the compile
from the command line and got it to work, and ended up adding this fragment
to our compile target in our build.xml.
All substitutions contain fully qualified paths.
<java classname="org.jibx.binding.Compile" fork="true">
<classpath>
<pathelement path="${build.dest.classes}"/>
<pathelement path="${build.classpath}" />
<pathelement location="${build.lib.3rdParty}/bcel.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-bind.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-run.jar"/>
<pathelement location="${build.lib.3rdParty}/xpp3.jar"/>
</classpath>
<arg line="${build.src.conf}/binding.xml" />
</java>
<!DOCTYPE binding SYSTEM "binding.dtd">
<binding forwards="false">
<mapping name="campaign"
class="com.thc.ids.domainobjects.ams.Campaign">
<value style="attribute" name="name" field="_name"/>
<value style="attribute" name="startDate" field="_startDate"/>
<value style="attribute" name="endDate" field="_endDate"/>
</mapping>
</binding>
The binding compiler modifies the Campaign.class file and creates 2 more
JiBX_bindingCampaign_access.class
JiBX_bindingFactory.class
!! THIS IS THE POINT OF THE EMAIL !!
I deploy the app in weblogic and run my cactus test case ( Below ) and get
1) testIt(com.thc.ids.api.services.business.ams.test.TestJiBX)
org.jibx.runtime.JiBXException: Unable to access binding information for
class com.thc.ids.domainobj
ects.ams.Campaign
com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bind
ingFactory
at
org.jibx.runtime.BindingDirectory.getFactory(BindingDirectory.java:141)
at
com.thc.ids.api.services.business.ams.test.TestJiBX.testIt(TestJiBX.java:45)
at
org.apache.cactus.AbstractTestCase.runServerTest(AbstractTestCase.java:491)
It looks like the information implanted in Campaign.class for the binding
factory is com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bindingFactory
but the class that was generated was called
com.thc.ids.domainobjects.ams.JiBX_bindingFactory.
public void testIt() throws Exception
{
String campaignXML = "<campaign name='name'
startDate='2003-03-21T01:33:00' endDate='2003-08-21T01:33:00'/>";
IBindingFactory bfact = BindingDirectory.getFactory(Campaign.class);
IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
Campaign campaign = (Campaign) uctx.unmarshalDocument(new
StringReader(campaignXML));
insertCampaign(campaign);
System.out.println( campaign.toString() );
IMarshallingContext ictx = bfact.createMarshallingContext();
ictx.marshalDocument( campaign, null, null, System.out );
}
Thanks,
-sean
Sean Scott
Senior Software Engineer
Thomson MICROMEDEX
303-486-6403
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
Peter Ledbrook
2003-08-07 13:57:22 UTC
Permalink
Hi,

I'm having similar problems to Sean with the Ant integration. I have tried
using the CompileTask as well as a <java> task. Both fail with a
java.lang.IncompatibleClassChangeError. However, running the bind tool
(Compile) from the command line works fine.

Any ideas? I have added some extra info to the end of the mail.

Thanks,

Peter


#--------------------------------------------------------------------
# Output from command line.
#

Command invocation:

java -cp
D:\Dev\Projects\Phase2\auganiser-data\build\classes;D:\Dev\Projects\Phase2\a
uganiser-common\build\classes;D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
org.jibx.binding.Compile -v bindings\result-binding.xml

Output:
Using paths:
D:\Dev\Projects\Phase2\auganiser-data\build\classes
D:\Dev\Projects\Phase2\auganiser-common\build\classes
D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
D:\Dev\Projects\Phase2\lib\jibx\bcel.jar
D:\Dev\Projects\Phase2\lib\jibx\jibx-run.jar
D:\Dev\Projects\Phase2\lib\jibx\xpp3.jar
.
Using bindings:
bindings\result-binding.xml
binding result_binding:
context (mp#=3) (cv#=0) (fm#=0)
...


#--------------------------------------------------------------------
# Output from Ant task
#

Ant target:
<target name="bindings" depends="compile">
<!-- JiBX binding compiler task definition -->

<taskdef name="bind" classname="org.jibx.binding.ant.CompileTask">
<classpath>
<pathelement location="../lib/jibx/jibx-bind.jar"/>
<pathelement location="../lib/jibx/bcel.jar"/>
<pathelement location="../lib/jibx/jibx-run.jar"/>
<pathelement location="../lib/jibx/xpp3.jar"/>
</classpath>
</taskdef>

<bind verify="true" verbose="true" load="true">
<bindingfileset dir="bindings" />
<classpathset dir="${classes.dir}" />
<classpathset dir="${common.proj.dir}/${classes.dir}" />
<classpathset dir="../lib/jibx/jibx-bind.jar" />
<classpathset dir="../lib/jibx/bcel.jar" />
<classpathset dir="../lib/jibx/jibx-run.jar" />
<classpathset dir="../lib/jibx/xpp3.jar" />
</bind>
<!--
<java classname="org.jibx.binding.Compile"
classpathref="bind.classpath"
failonerror="true">
<arg value="-v" />
<arg value="bindings/result-binding.xml" />
</java>
-->
</target>

Output:
Buildfile: build.xml

init:

compile-common:

init:

compile:
[echo] Compiling auganiser-common project

compile:
[echo] Compiling auganiser-data project

bindings:
[bind] using the following paths:
[bind] D:\Dev\Projects\Phase2\auganiser-data\build\classes
[bind] D:\Dev\Projects\Phase2\auganiser-common\build\classes
[bind] D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\bcel.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\jibx-run.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\xpp3.jar
[bind] using the following binding:
D:\Dev\Projects\Phase2\auganiser-data\b
indings\result-binding.xml

BUILD FAILED
java.lang.IncompatibleClassChangeError
at org.jibx.binding.classes.ClassFile.<init>(ClassFile.java:201)
at
org.jibx.binding.classes.ClassCache.getClassFileImpl(ClassCache.java:131)
at
org.jibx.binding.classes.ClassCache.getClassFile(ClassCache.java:171)
at
org.jibx.binding.classes.ClassItem.findStaticMethod(ClassItem.java:280)
at
org.jibx.binding.def.StringConversion.setSerializer(StringConversion.java:38
3)
at
org.jibx.binding.def.PrimitiveStringConversion.setSerializer(PrimitiveString
Conversion.java:409)
at
org.jibx.binding.def.StringConversion.<init>(StringConversion.java:147)
at
org.jibx.binding.def.PrimitiveStringConversion.<init>(PrimitiveStringConvers
ion.java:152)
at
org.jibx.binding.def.BindingDefinition.<clinit>(BindingDefinition.java:66)
at
org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilde
r.java:1442)
at org.jibx.binding.Compile.loadBinding(Compile.java:332)
at org.jibx.binding.Compile.compile(Compile.java:357)
at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:160)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)

Total time: 4 seconds
java.lang.IncompatibleClassChangeError
at org.jibx.binding.classes.ClassFile.<init>(ClassFile.java:201)
at
org.jibx.binding.classes.ClassCache.getClassFileImpl(ClassCache.java:131)
at
org.jibx.binding.classes.ClassCache.getClassFile(ClassCache.java:171)
at
org.jibx.binding.classes.ClassItem.findStaticMethod(ClassItem.java:280)
at
org.jibx.binding.def.StringConversion.setSerializer(StringConversion.java:38
3)
at
org.jibx.binding.def.PrimitiveStringConversion.setSerializer(PrimitiveString
Conversion.java:409)
at
org.jibx.binding.def.StringConversion.<init>(StringConversion.java:147)
at
org.jibx.binding.def.PrimitiveStringConversion.<init>(PrimitiveStringConvers
ion.java:152)
at
org.jibx.binding.def.BindingDefinition.<clinit>(BindingDefinition.java:66)
at
org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilde
r.java:1442)
at org.jibx.binding.Compile.loadBinding(Compile.java:332)
at org.jibx.binding.Compile.compile(Compile.java:357)
at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:160)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
D:\Dev\Projects\Phase2\auganiser-data>
Dennis Sosnoski
2003-08-07 15:21:48 UTC
Permalink
That looks very strange. The only thing I can think of that might cause
this is if there's an incompatible version of the BCEL code in the
classpath, and somehow Ant is picking up the wrong one. I'll experiment
with this later today to see if I can recreate the problem.

Did this work properly for you with the beta 1a code, Peter (assuming
you tried it)? I did make a change in this area to try two different
ways of loading the class to be modified. I don't see how this could
cause the incompatible class change exception, though.

- Dennis
Post by Peter Ledbrook
Hi,
I'm having similar problems to Sean with the Ant integration. I have tried
using the CompileTask as well as a <java> task. Both fail with a
java.lang.IncompatibleClassChangeError. However, running the bind tool
(Compile) from the command line works fine.
Any ideas? I have added some extra info to the end of the mail.
Thanks,
Peter
#--------------------------------------------------------------------
# Output from command line.
#
java -cp
D:\Dev\Projects\Phase2\auganiser-data\build\classes;D:\Dev\Projects\Phase2\a
uganiser-common\build\classes;D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
org.jibx.binding.Compile -v bindings\result-binding.xml
D:\Dev\Projects\Phase2\auganiser-data\build\classes
D:\Dev\Projects\Phase2\auganiser-common\build\classes
D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
D:\Dev\Projects\Phase2\lib\jibx\bcel.jar
D:\Dev\Projects\Phase2\lib\jibx\jibx-run.jar
D:\Dev\Projects\Phase2\lib\jibx\xpp3.jar
.
bindings\result-binding.xml
context (mp#=3) (cv#=0) (fm#=0)
...
#--------------------------------------------------------------------
# Output from Ant task
#
<target name="bindings" depends="compile">
<!-- JiBX binding compiler task definition -->
<taskdef name="bind" classname="org.jibx.binding.ant.CompileTask">
<classpath>
<pathelement location="../lib/jibx/jibx-bind.jar"/>
<pathelement location="../lib/jibx/bcel.jar"/>
<pathelement location="../lib/jibx/jibx-run.jar"/>
<pathelement location="../lib/jibx/xpp3.jar"/>
</classpath>
</taskdef>
<bind verify="true" verbose="true" load="true">
<bindingfileset dir="bindings" />
<classpathset dir="${classes.dir}" />
<classpathset dir="${common.proj.dir}/${classes.dir}" />
<classpathset dir="../lib/jibx/jibx-bind.jar" />
<classpathset dir="../lib/jibx/bcel.jar" />
<classpathset dir="../lib/jibx/jibx-run.jar" />
<classpathset dir="../lib/jibx/xpp3.jar" />
</bind>
<!--
<java classname="org.jibx.binding.Compile"
classpathref="bind.classpath"
failonerror="true">
<arg value="-v" />
<arg value="bindings/result-binding.xml" />
</java>
-->
</target>
Buildfile: build.xml
[echo] Compiling auganiser-common project
[echo] Compiling auganiser-data project
[bind] D:\Dev\Projects\Phase2\auganiser-data\build\classes
[bind] D:\Dev\Projects\Phase2\auganiser-common\build\classes
[bind] D:\Dev\Projects\Phase2\lib\jibx\jibx-bind.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\bcel.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\jibx-run.jar
[bind] D:\Dev\Projects\Phase2\lib\jibx\xpp3.jar
D:\Dev\Projects\Phase2\auganiser-data\b
indings\result-binding.xml
BUILD FAILED
java.lang.IncompatibleClassChangeError
at org.jibx.binding.classes.ClassFile.<init>(ClassFile.java:201)
at
org.jibx.binding.classes.ClassCache.getClassFileImpl(ClassCache.java:131)
at
org.jibx.binding.classes.ClassCache.getClassFile(ClassCache.java:171)
at
org.jibx.binding.classes.ClassItem.findStaticMethod(ClassItem.java:280)
at
org.jibx.binding.def.StringConversion.setSerializer(StringConversion.java:38
3)
at
org.jibx.binding.def.PrimitiveStringConversion.setSerializer(PrimitiveString
Conversion.java:409)
at
org.jibx.binding.def.StringConversion.<init>(StringConversion.java:147)
at
org.jibx.binding.def.PrimitiveStringConversion.<init>(PrimitiveStringConvers
ion.java:152)
at
org.jibx.binding.def.BindingDefinition.<clinit>(BindingDefinition.java:66)
at
org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilde
r.java:1442)
at org.jibx.binding.Compile.loadBinding(Compile.java:332)
at org.jibx.binding.Compile.compile(Compile.java:357)
at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:160)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
Total time: 4 seconds
java.lang.IncompatibleClassChangeError
at org.jibx.binding.classes.ClassFile.<init>(ClassFile.java:201)
at
org.jibx.binding.classes.ClassCache.getClassFileImpl(ClassCache.java:131)
at
org.jibx.binding.classes.ClassCache.getClassFile(ClassCache.java:171)
at
org.jibx.binding.classes.ClassItem.findStaticMethod(ClassItem.java:280)
at
org.jibx.binding.def.StringConversion.setSerializer(StringConversion.java:38
3)
at
org.jibx.binding.def.PrimitiveStringConversion.setSerializer(PrimitiveString
Conversion.java:409)
at
org.jibx.binding.def.StringConversion.<init>(StringConversion.java:147)
at
org.jibx.binding.def.PrimitiveStringConversion.<init>(PrimitiveStringConvers
ion.java:152)
at
org.jibx.binding.def.BindingDefinition.<clinit>(BindingDefinition.java:66)
at
org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilde
r.java:1442)
at org.jibx.binding.Compile.loadBinding(Compile.java:332)
at org.jibx.binding.Compile.compile(Compile.java:357)
at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:160)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
D:\Dev\Projects\Phase2\auganiser-data>
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
Scott, Sean
2003-08-07 15:00:36 UTC
Permalink
Hey Dennis,

Thanks for your reply.

Here is the error I get when using the bind task:

compile:
[javac] Compiling 1 source file to
C:\cygwin\home\sscott\pegasus\AdMgmtSvc\build\classes
[bind] using the following paths:
[bind] C:\cygwin\home\sscott\pegasus\AdMgmtSvc\build\classes
[bind]
C:\cygwin\home\sscott\pegasus\AdMgmtSvc\lib\3rdParty\jibx-run.jar

BUILD FAILED
java.lang.IncompatibleClassChangeError
at org.jibx.binding.classes.ClassFile.<init>(ClassFile.java:201)
at
org.jibx.binding.classes.ClassCache.getClassFileImpl(ClassCache.java:131)
at
org.jibx.binding.classes.ClassCache.getClassFile(ClassCache.java:171)
at
org.jibx.binding.classes.ClassItem.findStaticMethod(ClassItem.java:280)
at
org.jibx.binding.def.StringConversion.setSerializer(StringConversion.java:38
3)
at
org.jibx.binding.def.PrimitiveStringConversion.setSerializer(PrimitiveString
Conversion.java:409)
at
org.jibx.binding.def.StringConversion.<init>(StringConversion.java:147)
at
org.jibx.binding.def.PrimitiveStringConversion.<init>(PrimitiveStringConvers
ion.java:152)
at
org.jibx.binding.def.BindingDefinition.<clinit>(BindingDefinition.java:66)
at
org.jibx.binding.def.BindingBuilder.unmarshalBindingDefinition(BindingBuilde
r.java:1442)
at org.jibx.binding.Compile.loadBinding(Compile.java:332)
at org.jibx.binding.Compile.compile(Compile.java:357)
at org.jibx.binding.ant.CompileTask.execute(CompileTask.java:160)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
at org.apache.tools.ant.Task.perform(Task.java:319)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
at org.apache.tools.ant.Main.runBuild(Main.java:610)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)


-----Original Message-----
From: Dennis Sosnoski [mailto:***@sosnoski.com]
Sent: Wednesday, August 06, 2003 6:05 PM
To: Scott, Sean
Subject: Re: [jibx-users] Problem with JiBX compiler


Hi Sean,

There's actually a fair number of people on the list, though I'm the one
who does most of the replies.

I haven't seen your problems before. Can you give me any more details on
what went wrong in using the Ant task? Also, if anyone else on the list
has experienced similar problems I'd like to know.

Likewise on the binding factory problem. JiBX modifies the factory name
based on the binding definition name (either given explicitly in the
definition, or as the name of the binding definition file). Did you
perhaps use the "AdMgmtSvc_conf" as a name of the binding file at some
point? That's the only thing I can think of offhand that could cause
this type of problem. It's possible that if you change the name of the
binding definition file and rerun the binding it might not pick up that
the bound classes need to be modified.

If that's what happened I suggest you delete the whole set of class
files and do a clean build of your classes, then run the binding
compiler again. Otherwise, if you can ship me (directly, rather than
sending to the list) the set of modified class files I'll take a look to
see if I can figure anything out.

- Dennis
Post by Scott, Sean
Hmm, now I am wondering if I am the only one on the list. Anyone out there?
-----Original Message-----
Sent: Wednesday, August 06, 2003 10:17 AM
Cc: Horblit, Brian
Subject: [jibx-users] Problem with JiBX compiler
Last night I ran across JiBX and thought it may meet some of our XML
requirements. So I am trying to write a simple test case in one of our
existing projects that utilizes it.
My problems started while trying to add the bind task to our build.xml file
following the instructions provided with JiBX and continued once I got the
JiBX compiler to run. When bind ran, it always failed with a
java.lang.IncompatibleClassChangeError. Our ant scripts do a lot of stuff
with weblogic and other crap so I figured it was some sort of class
incompatibility with stuff that JiBX uses. So I tried running the compile
from the command line and got it to work, and ended up adding this fragment
to our compile target in our build.xml.
All substitutions contain fully qualified paths.
<java classname="org.jibx.binding.Compile" fork="true">
<classpath>
<pathelement path="${build.dest.classes}"/>
<pathelement path="${build.classpath}" />
<pathelement location="${build.lib.3rdParty}/bcel.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-bind.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-run.jar"/>
<pathelement location="${build.lib.3rdParty}/xpp3.jar"/>
</classpath>
<arg line="${build.src.conf}/binding.xml" />
</java>
<!DOCTYPE binding SYSTEM "binding.dtd">
<binding forwards="false">
<mapping name="campaign"
class="com.thc.ids.domainobjects.ams.Campaign">
<value style="attribute" name="name" field="_name"/>
<value style="attribute" name="startDate" field="_startDate"/>
<value style="attribute" name="endDate" field="_endDate"/>
</mapping>
</binding>
The binding compiler modifies the Campaign.class file and creates 2 more
JiBX_bindingCampaign_access.class
JiBX_bindingFactory.class
!! THIS IS THE POINT OF THE EMAIL !!
I deploy the app in weblogic and run my cactus test case ( Below ) and get
1) testIt(com.thc.ids.api.services.business.ams.test.TestJiBX)
org.jibx.runtime.JiBXException: Unable to access binding information for
class com.thc.ids.domainobj
ects.ams.Campaign
com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bind
ingFactory
at
org.jibx.runtime.BindingDirectory.getFactory(BindingDirectory.java:141)
at
com.thc.ids.api.services.business.ams.test.TestJiBX.testIt(TestJiBX.java:45
)
Post by Scott, Sean
at
org.apache.cactus.AbstractTestCase.runServerTest(AbstractTestCase.java:491)
It looks like the information implanted in Campaign.class for the binding
factory is com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bindingFactory
but the class that was generated was called
com.thc.ids.domainobjects.ams.JiBX_bindingFactory.
public void testIt() throws Exception
{
String campaignXML = "<campaign name='name'
startDate='2003-03-21T01:33:00' endDate='2003-08-21T01:33:00'/>";
IBindingFactory bfact = BindingDirectory.getFactory(Campaign.class);
IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
Campaign campaign = (Campaign) uctx.unmarshalDocument(new
StringReader(campaignXML));
insertCampaign(campaign);
System.out.println( campaign.toString() );
IMarshallingContext ictx = bfact.createMarshallingContext();
ictx.marshalDocument( campaign, null, null, System.out );
}
Thanks,
-sean
Sean Scott
Senior Software Engineer
Thomson MICROMEDEX
303-486-6403
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
Scott, Sean
2003-08-07 15:05:24 UTC
Permalink
Dennis,

The binding definition file is named binding.xml, and I have always named it
that. But it is located in c:/cygwin/home/sscott/pegasus/AdMgmtSvc/conf
directory. Seems like it is somehow picking up part of the path.

Thanks!

-sean

-----Original Message-----
From: Dennis Sosnoski [mailto:***@sosnoski.com]
Sent: Wednesday, August 06, 2003 6:05 PM
To: Scott, Sean
Subject: Re: [jibx-users] Problem with JiBX compiler


Hi Sean,

There's actually a fair number of people on the list, though I'm the one
who does most of the replies.

I haven't seen your problems before. Can you give me any more details on
what went wrong in using the Ant task? Also, if anyone else on the list
has experienced similar problems I'd like to know.

Likewise on the binding factory problem. JiBX modifies the factory name
based on the binding definition name (either given explicitly in the
definition, or as the name of the binding definition file). Did you
perhaps use the "AdMgmtSvc_conf" as a name of the binding file at some
point? That's the only thing I can think of offhand that could cause
this type of problem. It's possible that if you change the name of the
binding definition file and rerun the binding it might not pick up that
the bound classes need to be modified.

If that's what happened I suggest you delete the whole set of class
files and do a clean build of your classes, then run the binding
compiler again. Otherwise, if you can ship me (directly, rather than
sending to the list) the set of modified class files I'll take a look to
see if I can figure anything out.

- Dennis
Post by Scott, Sean
Hmm, now I am wondering if I am the only one on the list. Anyone out there?
-----Original Message-----
Sent: Wednesday, August 06, 2003 10:17 AM
Cc: Horblit, Brian
Subject: [jibx-users] Problem with JiBX compiler
Last night I ran across JiBX and thought it may meet some of our XML
requirements. So I am trying to write a simple test case in one of our
existing projects that utilizes it.
My problems started while trying to add the bind task to our build.xml file
following the instructions provided with JiBX and continued once I got the
JiBX compiler to run. When bind ran, it always failed with a
java.lang.IncompatibleClassChangeError. Our ant scripts do a lot of stuff
with weblogic and other crap so I figured it was some sort of class
incompatibility with stuff that JiBX uses. So I tried running the compile
from the command line and got it to work, and ended up adding this fragment
to our compile target in our build.xml.
All substitutions contain fully qualified paths.
<java classname="org.jibx.binding.Compile" fork="true">
<classpath>
<pathelement path="${build.dest.classes}"/>
<pathelement path="${build.classpath}" />
<pathelement location="${build.lib.3rdParty}/bcel.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-bind.jar"/>
<pathelement location="${build.lib.3rdParty}/jibx-run.jar"/>
<pathelement location="${build.lib.3rdParty}/xpp3.jar"/>
</classpath>
<arg line="${build.src.conf}/binding.xml" />
</java>
<!DOCTYPE binding SYSTEM "binding.dtd">
<binding forwards="false">
<mapping name="campaign"
class="com.thc.ids.domainobjects.ams.Campaign">
<value style="attribute" name="name" field="_name"/>
<value style="attribute" name="startDate" field="_startDate"/>
<value style="attribute" name="endDate" field="_endDate"/>
</mapping>
</binding>
The binding compiler modifies the Campaign.class file and creates 2 more
JiBX_bindingCampaign_access.class
JiBX_bindingFactory.class
!! THIS IS THE POINT OF THE EMAIL !!
I deploy the app in weblogic and run my cactus test case ( Below ) and get
1) testIt(com.thc.ids.api.services.business.ams.test.TestJiBX)
org.jibx.runtime.JiBXException: Unable to access binding information for
class com.thc.ids.domainobj
ects.ams.Campaign
com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bind
ingFactory
at
org.jibx.runtime.BindingDirectory.getFactory(BindingDirectory.java:141)
at
com.thc.ids.api.services.business.ams.test.TestJiBX.testIt(TestJiBX.java:45
)
Post by Scott, Sean
at
org.apache.cactus.AbstractTestCase.runServerTest(AbstractTestCase.java:491)
It looks like the information implanted in Campaign.class for the binding
factory is com.thc.ids.domainobjects.ams.JiBX_AdMgmtSvc_conf_bindingFactory
but the class that was generated was called
com.thc.ids.domainobjects.ams.JiBX_bindingFactory.
public void testIt() throws Exception
{
String campaignXML = "<campaign name='name'
startDate='2003-03-21T01:33:00' endDate='2003-08-21T01:33:00'/>";
IBindingFactory bfact = BindingDirectory.getFactory(Campaign.class);
IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
Campaign campaign = (Campaign) uctx.unmarshalDocument(new
StringReader(campaignXML));
insertCampaign(campaign);
System.out.println( campaign.toString() );
IMarshallingContext ictx = bfact.createMarshallingContext();
ictx.marshalDocument( campaign, null, null, System.out );
}
Thanks,
-sean
Sean Scott
Senior Software Engineer
Thomson MICROMEDEX
303-486-6403
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
Dennis Sosnoski
2003-08-07 15:40:24 UTC
Permalink
I suspect the problem here is that you're supplying the binding file
path with '/' directory delimiters on a Windows system (the argument
passed to the binding compiler in your Ant file). That probably messes
up the code that tries to split off the file name from the path (since
it looks for the system separator character '\' on Windows). I'll have
to look into the code to see why this would work differently in the two
places though (when generating the actual binding factory class, as
opposed to the references to that class). As a quick work-around you can
try using '\' separators in your binding file path to see if that makes
a difference.

The binding compiler issue looks like the same problem as Peter had.
I'll try some things later to see if I can duplicate this now that I
know what I'm looking for. I notice both of you are on Windows, so I'll
also try the code there if I can't get it to fail otherwise. Thanks for
the details on both these problems!

- Dennis
Post by Scott, Sean
Dennis,
The binding definition file is named binding.xml, and I have always named it
that. But it is located in c:/cygwin/home/sscott/pegasus/AdMgmtSvc/conf
directory. Seems like it is somehow picking up part of the path.
Thanks!
-sean
-----Original Message-----
Sent: Wednesday, August 06, 2003 6:05 PM
To: Scott, Sean
Subject: Re: [jibx-users] Problem with JiBX compiler
Hi Sean,
There's actually a fair number of people on the list, though I'm the one
who does most of the replies.
I haven't seen your problems before. Can you give me any more details on
what went wrong in using the Ant task? Also, if anyone else on the list
has experienced similar problems I'd like to know.
Likewise on the binding factory problem. JiBX modifies the factory name
based on the binding definition name (either given explicitly in the
definition, or as the name of the binding definition file). Did you
perhaps use the "AdMgmtSvc_conf" as a name of the binding file at some
point? That's the only thing I can think of offhand that could cause
this type of problem. It's possible that if you change the name of the
binding definition file and rerun the binding it might not pick up that
the bound classes need to be modified.
If that's what happened I suggest you delete the whole set of class
files and do a clean build of your classes, then run the binding
compiler again. Otherwise, if you can ship me (directly, rather than
sending to the list) the set of modified class files I'll take a look to
see if I can figure anything out.
- Dennis
Peter Ledbrook
2003-08-07 16:05:54 UTC
Permalink
Dennis,

Thanks for the quick reply!

I've downloaded beta1a and tried compiling my bindings file from ant with
the <java> task: it works, although I had to change my <collection>
references to <structure>. With exactly the same setup and bindings file,
but using the beta2 libraries, the build fails with the
IncompatibleClassChangeError.

I've checked for any rogue bcel.jar files, but I can't find any that might
be in the classpath. There is one in my Jboss installation, and one in a
xalan directory, but neither are in the classpath.

Hope this helps,

Peter


-----Original Message-----
From: Dennis Sosnoski [mailto:***@sosnoski.com]
Sent: 07 August 2003 16:22
To: Peter Ledbrook
Cc: jibx-***@lists.sourceforge.net

That looks very strange. The only thing I can think of that might cause this
is if there's an incompatible version of the BCEL code in the classpath, and
somehow Ant is picking up the wrong one. I'll experiment with this later
today to see if I can recreate the problem.

Did this work properly for you with the beta 1a code, Peter (assuming you
tried it)? I did make a change in this area to try two different ways of
loading the class to be modified. I don't see how this could cause the
incompatible class change exception, though.

- Dennis
Peter Ledbrook
2003-08-12 10:05:23 UTC
Permalink
Dennis,

Is there anything I can do to help out on this one? I'd love to integrate
JiBX into my project, but without working ant support, it's a non-starter.

BTW the beta 1a distribution doesn't have the ant task in it. Was it only
introduced with beta 2?

Cheers,

Peter


-----Original Message-----
From: Dennis Sosnoski [mailto:***@sosnoski.com]
Sent: 07 August 2003 16:22
To: Peter Ledbrook
Cc: jibx-***@lists.sourceforge.net

That looks very strange. The only thing I can think of that might cause this
is if there's an incompatible version of the BCEL code in the classpath, and
somehow Ant is picking up the wrong one. I'll experiment with this later
today to see if I can recreate the problem.

Did this work properly for you with the beta 1a code, Peter (assuming you
tried it)? I did make a change in this area to try two different ways of
loading the class to be modified. I don't see how this could cause the
incompatible class change exception, though.

- Dennis
Jonathan Howell
2003-08-12 10:55:12 UTC
Permalink
Hi Peter. Do you need a fork="true" attribute on the <java> element in the
ant file? Just a thought...

Jonathan

-----Original Message-----
From: Peter Ledbrook [mailto:***@august.uk.com]
Sent: Tuesday, August 12, 2003 11:05 AM
To: Dennis Sosnoski
Cc: jibx-***@lists.sourceforge.net
Subject: RE: [jibx-users] Problem with JiBX compiler


Dennis,

Is there anything I can do to help out on this one? I'd love to integrate
JiBX into my project, but without working ant support, it's a non-starter.

BTW the beta 1a distribution doesn't have the ant task in it. Was it only
introduced with beta 2?

Cheers,

Peter


-----Original Message-----
From: Dennis Sosnoski [mailto:***@sosnoski.com]
Sent: 07 August 2003 16:22
To: Peter Ledbrook
Cc: jibx-***@lists.sourceforge.net

That looks very strange. The only thing I can think of that might cause this
is if there's an incompatible version of the BCEL code in the classpath, and
somehow Ant is picking up the wrong one. I'll experiment with this later
today to see if I can recreate the problem.

Did this work properly for you with the beta 1a code, Peter (assuming you
tried it)? I did make a change in this area to try two different ways of
loading the class to be modified. I don't see how this could cause the
incompatible class change exception, though.

- Dennis



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
jibx-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
Peter Ledbrook
2003-08-12 13:35:22 UTC
Permalink
Hi,

I've now resolved the problem. I had an xsltc.jar file lurking in my JRE's
lib/endorsed directory, and this JAR includes the BCEL classes. Removed the
JAR file from the endorsed directory and the ant task now works!

Thanks for your help,

Peter
Dennis Sosnoski
2003-08-12 16:32:09 UTC
Permalink
Glad you were able to resolve this! I was going to respond to your
earlier request with a version that had some added information printed
on the exception path, but I assume that's no longer necessary. Thanks
for tracking down the cause and letting the list know.

- Dennis
Post by Peter Ledbrook
Hi,
I've now resolved the problem. I had an xsltc.jar file lurking in my JRE's
lib/endorsed directory, and this JAR includes the BCEL classes. Removed the
JAR file from the endorsed directory and the ant task now works!
Thanks for your help,
Peter
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
jibx-users mailing list
https://lists.sourceforge.net/lists/listinfo/jibx-users
Loading...