You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dave Lindquist (JIRA)" <ji...@apache.org> on 2010/02/05 20:22:28 UTC

[jira] Created: (AXIS2-4617) SOAPFault.addDetail() creates ignored detail / SOAPFault.getDetail() allows proper detail creation

SOAPFault.addDetail() creates ignored detail / SOAPFault.getDetail() allows proper detail creation
--------------------------------------------------------------------------------------------------

                 Key: AXIS2-4617
                 URL: https://issues.apache.org/jira/browse/AXIS2-4617
             Project: Axis2
          Issue Type: Bug
          Components: kernel
    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 not?).

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 properly.
    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.