axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Scheuerle (JIRA)" <>
Subject [jira] Commented: (AXIS2-1799) JAX-WS Add support for legacy Exceptions
Date Sat, 20 Jan 2007 21:39:30 GMT


Rich Scheuerle commented on AXIS2-1799:

I'm running tests on patch5.txt and will commit it later today.

Summary of Changes:

    1) Changed the code to always use getAnnoWebFault instead of relying on the local annotation
variable (which may be null). 
     2) Changed getFaultBean() logic.  If @WebFault does not exist or if the @WebFault.faultBean
is not available, then the code will 
          (a) try to get the faultBean class by looking at the getFaultInfo method.  If this
fails then 
          (b) uses the default algorithm described in JAX-WS 3.7.   The default is <SEI
package>.<ExceptionName>Bean or 
               <SEI package>.jaxws.<ExceptionName>Bean
     3) Changed the getName()  default.  If @WebFault does not exist or if the
is not available, then the code will
          (a) try to get name from the @XMLRootElement of the faultBean .  If this fails then.
           (b) use the simple name of the fault bean class.
     4) Similar changes to getTargentNamespace.  If @WebFault does not exist or if the @WebFault.targetnamespace
is not available, then
           (a) try to get the namespace from the @XMLRootElement of the faultBean.  If this
fails then
            (b) use a pkg->ns conversion 

      1)  Changed the visibility of  determineActualArtifactPackage from private to protected
so that it can be used to find the faultBean
            artifact.   We might want to consider moving this utility to a static class

       1) Updated to validate some of this new code.

        1) Moved from org.apache.axis2.jaxws.wrapper.impl  to org.apache.axis2.jaxws.wrapper
        2) Added getPropertyName and getPropertyType methods.
LegacyExceptionUtil (new)
         1) Contains a isLegacyException method that is used by the marshaller to identify
legacy exceptions.
         2) Contains a createFaultBean(exception) method that uses the JAX-WS 3.7 algorithm
to build a faultBean object.
              This code uses the existing WrapperTool in its implementation.
               The fault marshaller uses this method to createthe fault bean.  The fault bean
is then marshalled.
         3)  Contains a createFaultException(faultBean) method that creates a JAX-WS legacy
fault exception.
               This code also uses the WrapperTool in its implementation.
               The fault  demarshaller uses this method to create an exception from the demarshalled
fault bean.

         1) Contains code to recognized legacy exceptions during marshalling and demarshalling
of faults.

> JAX-WS Add support for legacy Exceptions
> ----------------------------------------
>                 Key: AXIS2-1799
>                 URL:
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>         Assigned To: Rich Scheuerle
>         Attachments: patch1.txt, patch2.txt, patch3.txt, patch4.txt, patch5.txt
> JAX-WS requires support for legacy Exception classes.
> A legacy Exception:
>     does not have an @WebFault annotation and/or
>     does not have the constructor/methods defined in chapter 2.5 of the specfication.
> The mechanism for marshalling a legacy exception is implied in section 3.7 of the specification.
> The mechanism for unmarshalling a legacy exception are not discussed and will require
proprietary heuristics.  
> I will add more information as I investigate solutions

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message