[ http://issues.apache.org/jira/browse/AXIS-1836?page=comments#action_63926 ] Joshua Blatt commented on AXIS-1836: ------------------------------------
Yes! This says it all: Postel's principle - be liberal in what you accept, strict in what you emit Axis should play better with gsoap > ClassCastException in SoapFaultBuilder reading fault > ---------------------------------------------------- > > Key: AXIS-1836 > URL: http://issues.apache.org/jira/browse/AXIS-1836 > Project: Axis > Type: Bug > Components: Basic Architecture > Versions: 1.2 > Environment: FreeBSD 4.10 > Java(TM) 2 Runtime Environment, Standard Edition (build > 1.4.2-p6-root_28_jan_2004_22_24) > Reporter: Gopal V > Priority: Minor > > A Fault from the server causes a ClassCastException in SOAPFaultBuilder > The fault generated by the server (gsoap based) is > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:full="urn:xxxx:platform:soap:demo:full"> > <SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode> > <faultstring>Missing request args</faultstring> > <detail>Params possibly not in appropriate namespace.Possible SOAP::Lite bug > #1149481</detail> > </SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> > Debugging gave the following: > Exception occurred: java.lang.ClassCastException (to be caught at: > org.apache.axis.message.SOAPFaultBuilder.onEndChild(), line=302 > bci=73)"thread=main", org.apache.axis.message.SOAPFaultBuilder.onEndChild(), > line=299 bci=63 > main[1] dump children > children = { > serialVersionUID: 8683452581122892189 > elementData: instance of java.lang.Object[10] (id=1094) > size: 1 > java.util.AbstractList.modCount: 1 > } > main[1] print i; > i; = 0 > main[1] print children.elementData[0].getType() > com.sun.tools.example.debug.expr.ParseException: No instance field or method > with the name getType in org.apache.axis.message.Text > main[1] print children.elementData[0] > children.elementData[0] = "Params possibly not in appropriate namespace. > Possible SOAP::Lite bug #1149481" > The code in CVS in SOAPFaultBuilder has the following code - > for (int i = 0; i < elements.length; i++) { > try { > elements[i] = ((MessageElement)children.get(i)). > getAsDOM(); > Which looks suspicious at this point. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
