Debugging of the JAXB custom serializer, which i'm trying to do right now,
has not been succesfull yet.

Paul, what are these "4 method signatures that Axis allows."?
Are you referring to the message service style?

Regards,
Robin

-----Original Message-----
From: Paul Callahan [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 11, 2004 9:03 PM
To: [EMAIL PROTECTED]
Subject: Re: axis 1.1 and jaxb


Hi,

An alternative to creating a custom serializer is to use the
doc/literal style service and use one of the 4 method signatures that
Axis allows.  You can inspect the incoming XML to determine what kind
of message you have received.  From there, use the utilities provided
by the JAXB api to translate the XML message into JAXB objects, and
perform your business logic.  Then, create output objects using JAXB
and serialize them to XML--return that from your web service method. 
So your webservice "controller" class could have a method like this:

public Document doService(Document body) throws AxisFault {

  // inspect the document to see what "kind" of message you have received..
  
  // deserialize the message
  jc = JAXBContext.newInstance(<your namespace>);
  u = jc.createUnmarshaller();
  m = jc.createMarshaller();
  requestObj = u.unmarshal(body);

  // perform your domain logic on this object

  // serialize and return your response
  returnDoc = XMLUtils.newDocument();
  m.marshal(responseObj, returnDoc);

   return returnDoc;

}

Sounds like creating a custom serializer would be cleaner, however. 
Have you been able to debug this InvocationTarget problem?

-pc 

On Wed, 11 Aug 2004 15:26:42 +0200, Wierenga, R. - SPLXE
<[EMAIL PROTECTED]> wrote:
> Hi !
> 
> I'm trying to use jaxb as the (de)serialization mechanism for the
provision
> of a document/literal style webservice. Has anyone succeeded in
implementing
> this? I'm curious to know which steps i need to take.
> 
> Steps i took so far are:
> * created a wsdl file including the schema for my complextypes
> * used axis wsdl2java tool to generate the skeleton, implementation and
> beans sources
> * created a custom JAXB serializer based on Castor serializer example
> * modified wsdd to use the new JAXB serializer for each compleyType and
> element defined in the schema
> * deployed stuff using adminclient
> * tested results using WSAD 5.1 Webservice explorer
> 
> Problems which i encountered:
> * A call to the webservice results in a Soap fault
> (java.lang.reflect.InvocationTargetException)
> * The wsdl file generated by Axis after deployment is invalid, it does not
> contain the complexType definitions which were defined in the original
wsdl.
> How could this happen? When I leave out the type mappings in my
deploy.wsdd
> and redeploy it produces a valid wsdl file...strange.
> 
> Kinds regards,
> Robin Wierenga
> 
> **********************************************************************
> For information, services and offers, please visit our web site:
http://www.klm.com. This e-mail and any attachment may contain confidential
and privileged material intended for the addressee only. If you are not the
addressee, you are notified that no part of the e-mail or any attachment may
be disclosed, copied or distributed, and that any other action related to
this e-mail or attachment is strictly prohibited, and may be unlawful. If
you have received this e-mail by error, please notify the sender immediately
by return e-mail, and delete this message. Koninklijke Luchtvaart
Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be
liable for the incorrect or incomplete transmission of this e-mail or any
attachments, nor responsible for any delay in receipt.
> **********************************************************************
> 
>

Reply via email to