[
https://issues.apache.org/jira/browse/AXIS2-1799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466278
]
Rich Scheuerle commented on AXIS2-1799:
---------------------------------------
I'm running tests on patch5.txt and will commit it later today.
Summary of Changes:
FaultDescriptionImpl:
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
@WebFault.name 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
OperationDescriptionImpl:
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
FaultServiceTest.
1) Updated to validate some of this new code.
PropertyInfo
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.
MethodMarshallerUtils.
1) Contains code to recognized legacy exceptions during marshalling
and demarshalling of faults.
> JAX-WS Add support for legacy Exceptions
> ----------------------------------------
>
> Key: AXIS2-1799
> URL: https://issues.apache.org/jira/browse/AXIS2-1799
> 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:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]