Hi Dan,

Thanks for the quick feedback. I don't have a particular WSDL I need to adhere to. Apparently the serializers that Axis is using are able to better handle the run-time serialization/introspection that these VariableInstance objects need, than Aegis is. Apparently XFire is faster, though - and it supports JSR181, so we'll be sticking to XFire, but with DTOs (probably not a bad idea anyway).

Brice


On 5/2/06, Dan Diephouse <[EMAIL PROTECTED]> wrote:
There are many ways to generate a wsdl and generate schemas from pojos.
I haven't looked at how Axis does it in a long time so I can't really
comment on that. If you have a particular wsdl that you wish to adhere
to, try using our wsdl->code genrator.

- Dan

Brice Ruth wrote:
> Quick follow-up ... why is the WSDL generated by Eclipse's WTP using
> Axis so different from the WSDL generated by XFire using JSR181
> annotations? Not just a little different ... WAY different. The XFire
> WSDL is quite a bit more complex than what Axis generated. Both
> supposedly are using Document/Literal (Wrapped).
>
> Brice
>
> On 5/2/06, *Brice Ruth* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> wrote:
>
>     Alright, thanks for the input! Quick question, though: before
>     moving to XFire, we exposed this same POJO as an Axis web service.
>     What does it do differently that allows it to serialize these same
>     objects?
>
>
>     On 5/2/06, *Dan Diephouse* < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>
>         If your method signature just returns "Object" - xfire isn't
>         going to
>         know how to deal with that. XFire needs to know what that type is
>         actually going to be. Unfortunately there is no way to tell
>         xfire that
>         right now what exactly it will return. You're going to have a
>         hard time
>         getting away with the JBoss jBPM objects and not creating DTOs
>         IMO.
>
>         - Dan
>
>         Brice Ruth wrote:
>         > Hi!
>         >
>         > I am quite new to XFire and I am running into some problems.
>         I've
>         > scoured Google and can't get any further, so any help would
>         be most
>         > appreciated.
>         >
>         > I have a service that returns a collection of TaskInstance
>         objects.
>         > The objects are defined by JBoss jBPM and are pretty complex
>         - but, at
>         > the moment, we don't want to create DTO objects for them
>         (that may be
>         > a future direction). I've created XYZ.aegis.xml files for a
>         couple
>         > objects that use Lists or Collections and for which aegis
>         cannot infer
>         > the component type. So far, so good. I can get the WSDL
>         generated (its
>         > pretty ugly). I can call my simple echo(msg) and hello()
>         operations
>         > and they work. However, when I call my retrieve() which needs to
>         > return these TaskInstance objects, I get the following fault:
>         >
>         > <soap:Envelope xmlns:soap="
>         http://schemas.xmlsoap.org/soap/envelope/"
>         > xmlns:xsd=" http://www.w3.org/2001/XMLSchema
>         > < http://www.w3.org/2001/XMLSchema>"
>         > xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
>         > <soap:Body>
>         > <soap:Fault>
>         > <faultcode>soap:Server</faultcode>
>         > <faultstring>Unable to write '${attr05}'
>         > [org.jbpm.context.exe.variableinstance.StringInstance]</faultstring>
>         > </soap:Fault>
>         > </soap:Body>
>         > </soap:Envelope>
>         >
>         > I've stepped through XFire in the debugger, I've tried
>         creating a
>         > custom type mapping. I can't figure out what's going on with
>         this. At
>         > first I just used the vanilla XFire config (using just
>         aegis), then I
>         > switched in the Jaxb2 service factory. No change ... here's my
>         > services.xml (I'm using JSR181 annotations)
>         >
>         > <!-- START SNIPPET: services -->
>         > <beans xmlns=" http://xfire.codehaus.org/config/1.0
>         <http://xfire.codehaus.org/config/1.0>">
>         >     <bean name="jaxbServiceFactory"
>         >         class=" org.codehaus.xfire.jaxb2.JaxbServiceFactory">
>         >         <constructor-arg ref="xfire.transportManager " />
>         >     </bean>
>         >
>         >     <service>
>         >         <serviceClass> ws.Hello</serviceClass>
>         >         <serviceFactory>#jaxbServiceFactory</serviceFactory>
>         >     </service>
>         > </beans>
>         > <!-- END SNIPPET: services -->
>         >
>         > I've yanked the custom type mapping bean (I followed the
>         examples at
>         > xfire.codehaus.org <http://xfire.codehaus.org>
>         <http://xfire.codehaus.org> and also tried some
>         > things found searching through the Gmane archive) as it
>         didn't appear
>         > to be doing anything.
>         >
>         > I think the problem ends up being that this StringInstance
>         object has
>         > a "value" attribute of type Object. Far as I can tell, the
>         object is
>         > just a string (hence StringInstance). This StringInstance
>         extends
>         > VariableInstance, so maybe that's causing grief - but I'm way
>         over my
>         > head with regards to XML mapping. Yikes!
>         >
>         > Please help!
>         >
>         > --
>         > Brice Ruth
>         > Software Engineer, Madison WI
>
>
>         --
>         Dan Diephouse
>         Envoi Solutions
>         http://envoisolutions.com
>         http://netzooid.com/blog
>
>
>
>
>     --
>     Brice Ruth
>     Software Engineer, Madison WI
>
>
>
>
> --
> Brice Ruth
> Software Engineer, Madison WI


--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com
http://netzooid.com/blog




--
Brice Ruth
Software Engineer, Madison WI

Reply via email to