I've looked at the FAQ about this issue: http://xml.apache.org/soap/faq/faq_chawke.html#Q1_1
and I've tried many different versions of xml parsers including crimson that comes with jboss 2.4.4, xerces 1.4.3, and xerces 2.0.1. Tests using these all had the same faultcode problem. The FAQ calls this a bug in the parsers but I don't buy that. From a previous post by Jim Cross, this looks like a bug in SOAP. Is this fixed in RC 2.3? Does anyone know anything about this problem? It's strange because fault parsing was working on my system at one time. I didn't change the xml parser I was using so what could it be? Is there a workaround for this? i.e.: not setting a namespace in the call object? any help is greatly appreciated. Rich -----Original Message----- From: Richard Bolen Sent: Wednesday, May 22, 2002 10:21 To: SOAP Users Mailing List (E-mail) Subject: SOAPException parsing Fault element? I'm getting the following SOAPException from SOAP when it is parsing what appears to be a valid Fault element: SOAPException in soapMethodCall: A 'http://schemas.xmlsoap.org/soap/envelope/:Fault' element must contain a: 'faultcode' element. Here's the Fault response (captured from the TCPMonitor utility) which seems to contain a valid 'faultcode' element: HTTP/1.1 500 Internal Server Error Content-Type: text/xml; charset=utf-8 Content-Length: 4962 Date: Wed, 22 May 2002 14:01:46 GMT Server: Apache Tomcat/4.0.1 (HTTP/1.1 Connector) <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>SE: SQLException executing SQL update "insert into users values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" in Utility.executeSqlQuery method: Invalid argument value: Duplicate entry 'newgapuser' for key 2</faultstring> <faultactor>/soap/servlet/rpcrouter</faultactor> <detail> <stackTrace>com.gmatc.netpalette.common.exceptions.ServerException: SE: SQLException executing SQL update "insert into users values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" in Utility.executeSqlQuery method: Invalid argument value: Duplicate entry 'newgapuser' for key 2 at com.gmatc.netpalette.server.utilities.Utility.executeSqlInsert(Utility.java:287) at com.gmatc.netpalette.server.data.DataFactory.insert(DataFactory.java:46) at com.gmatc.netpalette.server.ejb.SpecifierSession.insert(SpecifierSession.java:175) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:664) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:127) at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:242) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:138) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:347) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:100) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170) at org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContainer.java:339) at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:504) at org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericProxy.java:335) at org.jboss.ejb.plugins.jrmp.interfaces.StatefulSessionProxy.invoke(StatefulSessionProxy.java:136) at $Proxy8.insert(Unknown Source) at java.lang.reflect.Method.invoke(Native Method) at org.apache.soap.providers.StatefulEJBProvider.invoke(StatefulEJBProvider.java:153) at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:287) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106) at java.lang.Thread.run(Thread.java:484) </stackTrace> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Does anyone know why it can't find the faultcode element? Thanks, Rich -------------------------------------------------------------------- Rich Bolen Senior Software Developer GretagMacbeth Advanced Technologies Center 79 T. W. Alexander Drive - Bldg. 4401 - Suite 250 PO Box 14026 Research Triangle Park, North Carolina 27709-4026 USA Phone: 919-549-7575 x239, Fax: 919-549-0421 http://www.gretagmacbeth.com/ --------------------------------------------------------------------
