Hi Andreas, This is how I create the SOAP Fault. This is using Axiom 1.2.13. I am not sure if this has changed in 1.2.14.
catch (AxisFault axisFault) { if (axisFault.getFaultMessageContext() != null && axisFault.getFaultMessageContext().getEnvelope() != null) { SOAPFault soapFault = null; if (axisFault.getFaultMessageContext().isSOAP11()) { soapFault = new SOAP11Factory().createSOAPFault(axisFault.getFaultMessageContext().getEnvelope().getBody()); } else { soapFault = new SOAP12Factory().createSOAPFault(axisFault.getFaultMessageContext().getEnvelope().getBody()); if (axisFault.getFaultNodeElement() != null) { soapFault.setNode(axisFault.getFaultNodeElement()); } } if (axisFault.getFaultCodeElement() != null) { soapFault.setCode(axisFault.getFaultCodeElement()); } if (axisFault.getFaultDetailElement() != null) { soapFault.setDetail(axisFault.getFaultDetailElement()); } if (axisFault.getFaultReasonElement() != null) { soapFault.setReason(axisFault.getFaultReasonElement()); } if (axisFault.getFaultRoleElement() != null) { soapFault.setRole(axisFault.getFaultRoleElement()); } //This get called this.handleSOAPFault(method, soapFault); } else { throw axisFault; } } The CCE happens in the method here: protected void handleSOAPFault(Method method, SOAPFault soapFault) throws Exception { Exception faultException = null; //The ClassCastException is a result of this call if (soapFault.getDetail() != null) { Map<String, Object> jaxbContextProperties = null; //other logic removed for brevity. } Thanks Sumit -----Original Message----- From: Andreas Veithen [mailto:andreas.veit...@gmail.com] Sent: Wednesday, March 13, 2013 12:25 PM To: java-user Subject: Re: java.lang.ClassCastException: org.apache.axiom.om.impl.llom.OMElementImpl cannot be cast to org.apache.axiom.soap.SOAPFaultDetail How is the SOAPFault created? Andreas On Wed, Mar 13, 2013 at 3:19 PM, Shah, Sumit (CGI Federal) <sumit.s...@cgifederal.com> wrote: > Thanks Yashwanth. It seems like this is an issue in Axiom 1.2.14, > because both the SOAPFault11Impl and OMElementImpl are classes in > Axiom 1.2.14. Does this mean this a bug? > > > > Sumit > > > > From: Yashwanth Rajaram -X (yrajaram - ZENSAR TECHNOLOGIES INC at > Cisco) [mailto:yraja...@cisco.com] > Sent: Tuesday, March 12, 2013 1:35 PM > To: java-user@axis.apache.org > Subject: RE: java.lang.ClassCastException: > org.apache.axiom.om.impl.llom.OMElementImpl cannot be cast to > org.apache.axiom.soap.SOAPFaultDetail > > > > Sumit, I think you might have to do something like this: > > > > SOAPFaultDetail detail = > OMAbstractFactory.getSOAP11Factory().createSOAPFaultDetail(); > > detail.addChild(getFirstChildWithName(SOAP11Constants.QNAME_FAULT_DETA > IL)); > > > > Sincerely, Yashwanth > > Technical Architect, EBIS > > > > From: Shah, Sumit (CGI Federal) [mailto:sumit.s...@cgifederal.com] > Sent: Tuesday, March 12, 2013 8:16 AM > To: java-user@axis.apache.org > Subject: java.lang.ClassCastException: > org.apache.axiom.om.impl.llom.OMElementImpl cannot be cast to > org.apache.axiom.soap.SOAPFaultDetail > > > > Hi, > > > > I am running into the following ClassCastException running Axis2 1.6.2 > and Axiom 1.2.14 (I have also included the axiom-compat jar for > backwards compatibility). I noticed a similar issue reported for > Synapse/Carbon https://wso2.org/jira/browse/CARBON-13759. I am not > sure if these are related. > > > > > > java.lang.ClassCastException: > org.apache.axiom.om.impl.llom.OMElementImpl > cannot be cast to org.apache.axiom.soap.SOAPFaultDetail > > > > Its occurring here in the SOAP11FaultImpl: > > > > public SOAPFaultDetail getDetail() { > > return (SOAPFaultDetail) > getFirstChildWithName(SOAP11Constants.QNAME_FAULT_DETAIL); > > } > > > > I see that getFirstChildWithName() currently returns an OMELement, > however the cast above fails. I would appreciate any suggestions. > > > > Thanks > > Sumit --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org