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.