Still struggling here, any help would be highly appreciated. My areas
of confusion are:
1) I've used 'code first' with hibernate objects and Jibx2Wsdl to
create my schema and wsdl. I think I need to have JiBX use get/set
methods rather than directly access fields with working with
Hibernate, so I have referenced in a file that I pass to Jibx2Wsdl:
<custom force-classes="true" strip-prefixes="m_" property-access="true">
</custom>
>From an axis2 standpoint, this all works fine on my first simple service.
2) Now I need to marshall / unmarshall xml files to and from my
hibernate entities, outside of axis2 - basically importing and
exporting entire xml based data graphs into and out of a db controled
by hibernate. I need to validate these operations, so I'm using jaxp
against the xml schema that jibx2wsdl created.
Step 2 is where I'm stuck:
2a) jibx marshalling / unmarshalling doesn't appear to be xml schema
based, but rather jibx binding based.
2b) jibx marshalling / unmarshalling of an object seems to require
that the object extends MarshallingContext and UnmarshallingContext or
implement its interface. This would tightly couple my hibernate
objects to jibx and perhaps needs some custom coding(not just
automatic), but I'd do it it if solved my problem. I tried:
public class ExchangePermissionBO extends MarshallingContext
implements java.io.Serializable {
...
}
But I get:
[echo] Running Jibx2Wsdl tool
[java] Exception in thread "main" java.lang.IllegalStateException:
No way to handle type 'java.lang.Object'
[java] at
org.jibx.binding.generator.BindingGenerator.expandReferences(BindingGenerator.java:191)
[java] at
org.jibx.binding.generator.BindingGenerator.expandReferences(BindingGenerator.java:207)
[java] at
org.jibx.binding.generator.BindingGenerator.findReferences(BindingGenerator.java:983)
[java] at
org.jibx.binding.generator.BindingGenerator.generateSpecified(BindingGenerator.java:1123)
[java] at org.jibx.ws.wsdl.Jibx2Wsdl.generate(Jibx2Wsdl.java:484)
[java] at org.jibx.ws.wsdl.Jibx2Wsdl.main(Jibx2Wsdl.java:588)
I get the feeling I'm aproaching the xml import / export requirement
the wrong way. Please help,
Robert
On Nov 14, 2007 12:45 PM, robert lazarski <[EMAIL PROTECTED]> wrote:
> Ahh, just noticed - my mapping is abstract! I'm still confused about
> if my entity needs to be cast to IMarshallable, and what I need to do.
> Thanks!
>
> Robert
>
>
> On Nov 14, 2007 12:40 PM, robert lazarski <[EMAIL PROTECTED]> wrote:
> > Thanks for the reply Günther Wieser,
> >
> > These additional binding classes, when you say runtime, do I need
> > these in the classloader when marshalling? Or are they just for the
> > code gen stage of jibx?
> >
> > What's strange to me is that in my jibx based axis2 code it handles my
> > objects just fine. In my working axis2 code, the code gen casts to
> > IMarshallable. What I may need to do is this:
> >
> > IBindingFactory ibf =
> > org.jibx.runtime.BindingDirectory.getFactory("binding",
> > "com.wazollc.alphatheory.hibernate.bo",
> > EntityMarshaller.class.getClassLoader());
> > org.jibx.runtime.IMarshallable mctx = (org.jibx.runtime.IMarshallable)bo;
> >
> > But my hibernate objects would then be tied to jibx. Is that what I
> > have to do? Here's my simple mapping - AFAICT I'm doing things as you
> > say I need to - do you see something wrong? Thanks for the help!!!
> >
> > <binding xmlns:tns="http://wazollc.com/alphatheory/hibernate/bo"
> > name="binding" package="com.wazollc.alphatheory.hibernate.bo"
> > force-classes="true">
> > <namespace uri="http://wazollc.com/alphatheory/hibernate/bo"
> > default="elements" prefix="ns1"/>
> > <namespace
> > uri="http://wazollc.com/alphatheory/webservices/ATWSServer/ATWSServer"
> > prefix="ns2"/>
> > <mapping abstract="true" type-name="tns:exchangePermissionBO"
> > class="com.wazollc.alphatheory.hibernate.bo.ExchangePermissionBO">
> > <value style="attribute" name="id" get-method="getId"
> > set-method="setId" usage="optional"/>
> > <value style="attribute" name="version" get-method="getVersion"
> > set-method="setVersion" usage="optional"/> <value style="element"
> > name="name" get-method="getName" set-method="setName"
> > usage="optional"/>
> > <value style="element" name="code" get-method="getCode"
> > set-method="setCode" usage="optional"/>
> > </mapping>
> > </binding>
> >
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users