Sebastian,

Just wanted to jump in with a tip that will help you write an
exception class that is both Java-serializable (for RMI) as well as
XML-serializable (for binding.ws).  This is to use the JAXB
serializable customization.

If you add something like this to the <schema> element containing the
definition of the schema type of the element your fault bean maps to:

<schema targetNamespace="http://my.company"; jaxb:version="2.0"
 xmlns:jaxb="http://java.sun.com/xml/ns/jaxb";
 xmlns="http://www.w3.org/2001/XMLSchema";>
  <annotation>
    <appinfo>
      <jaxb:globalBindings>
        <jaxb:serializable uid="....."/>
     </jaxb:globalBindings>
    </appinfo>
  </annotation>

then I believe the default Java implementation of
readObject()/writeObject() will allow you to serialize/deserialize the
generated fault bean type just fine.

I'd like to have tried it out before suggesting it, but I'm switching
machines and don't have Tuscany set up at this instant.

Another general point to make about exception handling is that, from
the client catching the exception, you should only rely on the fault
bean obtained via getFaultInfo(), rather than other regular Java
exception features like getMessage() and getCause() which won't
necessarily be preserved across all bindings.  I think you already
recognize this point though...

Not sure I understand your second question about interface
compatibility and package names so I wont' comment on that.

Scott Kurz

Reply via email to