You are viewing a plain text version of this content. The canonical link for it is here.
Posted to savan-dev@ws.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2010/03/24 20:05:27 UTC
[jira] Commented: (AXIS2-4617) SOAPFault.addDetail() creates
ignored detail / SOAPFault.getDetail() allows proper detail creation
[ https://issues.apache.org/jira/browse/AXIS2-4617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12849360#action_12849360 ]
Andreas Veithen commented on AXIS2-4617:
----------------------------------------
Just to make sure: we are talking about SAAJ's SOAPFault (i.e. javax.xml.soap.SOAPFault), not the one in Axiom (org.apache.axiom.soap.SOAPFault), right? Can you confirm?
> 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.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org