axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <>
Subject [jira] Commented: (AXIS2-4617) SOAPFault.addDetail() creates ignored detail / SOAPFault.getDetail() allows proper detail creation
Date Wed, 24 Mar 2010 19:43:27 GMT


Andreas Veithen commented on AXIS2-4617:

No, SAAJ is an API specified by Sun and geronimo-saaj_1.3_spec-1.0.1.jar only contains the
interfaces. Axis2 has its own SAAJ implementation and if there is an issue with the behavior
of SOAPFault, then this needs to be fixed in Axis2.

What this really means is that instead of thinking about how we would like SOAPFault to behave,
we need to check what the SAAJ specs say or how the SAAJ reference implementation behaves,
and if necessary align Axis2. It would help us very much if you could come up with a test
case that succeeds with the SAAJ reference implementation, but that fails with Axis2. If you
check out the Axis2 sources you will be able to construct this kind of test easily: just add
another test case to [1] (in this class, all the test cases annotated with @Validated @Test
are executed against the SAAJ reference implementation and Axis2, and in case of test failure,
the error message indicates whether the test case is invalid (i.e. doesn't pass with the reference
implementation) or whether it fails because of a non-conformance in Axis2).


> SOAPFault.addDetail() creates ignored detail / SOAPFault.getDetail() allows proper detail
> --------------------------------------------------------------------------------------------------
>                 Key: AXIS2-4617
>                 URL:
>             Project: Axis2
>          Issue Type: Bug
>          Components: saaj
>    Affects Versions: 1.5.1
>         Environment: * Java:
>      java version "1.6.0_16"
>      Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
>      Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
> * Eclipse Dynamic Web Project
> * Apache Axis2 v1.5.1
>            Reporter: Dave Lindquist
>            Priority: Minor
> We're creating a SOAP message, with a SOAPFault, and attempting to attach details.
> Previous to Axis2 v1.5.1 (don't remember which version), we were doing:
>     detail = soapFaultObject.addDetail()
>     detail.addDetailEntry(...)
>     ... and so on ...
> After upgrading to v1.5.1, this now fails -- no matter what you do, you will always get
an EMPTY detail entry in your message.
> The resulting XML has:
>     <detail></detail>
> After much investigating, the problem appears to be that there is now a pre-created 'detail'
object already on the SOAPFault, and if you call 'addDetail' again a SECOND detail is created.
 This detail object is completely ignored during serialization (not sure if it should be or
> The solution to this is then to do something like:
>     detail = soapFaultObject.getDetail()
>     if(detail == null)
>     {
>         detail = soapFaultObject.addDetail()
>     }
>     detail.addDetailEntry(...)
> Once this workaround is know, this is fairly minor impact -- but without knowing the
workaround, it has a fairly major effect!
> I think that either:
> a. The addDetail should actually add another detail, and this should actually get serialized
>     OR
> b. The addDetail method should throw an exception if there is already a detail present.
>     OR
> c. There should not event BE an addDetail method.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message