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.