Yep. Check the test harness...there are DOZENs of examples.

-- dims

On 11/17/05, Kevin Ruland <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I think I found a way to use the de-/serialization methods outside of
> SOAPEnvelopes.  Can somebody validate?
>
> Suppose the base xsd defined type is someXmlType and axis generated a
> class named SomeXmlType.java.
>
> To serialize into a Writer do this:
>
> public void print( SomeXmlType x, Writer w )
> {
>   SerializationContext ctx = new SerializationContext(w);
>   ctx.setPretty( true );
>   QName rootName = SomeXmlType.getTypeDesc().getXmlType();
>   // This attribute adds a default namespace.
>   AttributesImpl a = new AttributesImpl();
>   a.addAttribute( "", "xmlns", "xmlns", "xsd:string",
> rootName.getNamespaceURI() );
>   ctx.serialize( new QName( "", "nodename"), a, x, null, new
> Boolean(true), new Boolean(false) );
> }
>
> The magic string "nodename" must be the name of the root node.
>
> To deserialize, you need a supporting class:
>
> class SomeXmlTypeBuilder extends SOAPHandler
> {
>   private BeanDeserializer handler;
>   public SomeXmlTypeBuilder() {};
>
>   public SOAPHandler onStartChild( String ns, String ln, String pf,
> Attributes a, DeserializationContext ctx ) throws SAXException
>   {
>     handler = (BeanDeserializer) someXmlType.getDeserializer("",
> SomeXmlType.class, SomeXmlType.getTypeDesc().getXmlType() );
>     return handler;
>   }
>
>   public SomeXmlType getValue()
>   {
>     return (SomeXmlType) handler.getValue();
>   }
> }
>
> Use it like this:
>
> public SomeXmlType parse( InputSource is )
> {
>   MessageContext mctx = new MessageContext( new AxisClient() );
>   DeserializationContext dctx = new DeserializationContext( is, mctx,
> "nodename");
>   SomeXmlTypeBuilder b = new SomeXmlTypeBuilder();
>   dctx.replaceElementHandler( b );
>   dctx.parse();
>   return b.getValue();
> }
>
>
> Kevin Ruland wrote:
>
> >Hi all,
> >
> >I'd like to use the generated xsd bindings to serialize/deserialize my
> >classes to regular old xml files.  I've tried hacking this together in
> >the past but never really got very far.  Does anybody have some sample
> >code for me?
> >
> >Thanks
> >
> >Kevin
> >
> >
>


--
Davanum Srinivas : http://wso2.com/blogs/

Reply via email to