I've got a web service developed in ColdFusion that throws java.lang.IllegalArgumentException: argument type mismatch and sometimes a class not found exception.
Now here's the kicker, I've not found a way to reliably reproduce the exceptions. Here's what happens. Although nothing will have changed in the source code, at some point during the day the server will start to throw the exception and continue to throw it until the ColdFusion service is restarted, after which it carries on fine for a while. This happens to only one or two of our production servers throughout the course of the day and the other servers will not be throwing any exceptions and it's not the same server each day :( . I'm pretty confident that the underlying CF code isn't at issue because if I run the same method on the same server using REST everything is fine and it also passes all the unit tests. The underlying application that processes the request is the same, there is a SOAP endpoint and a REST endpoint. Or, if I instantiate the SOAP endpoint CFC as a component directly in ColdFusion I can run all the methods no problems. This makes me think that there is something wrong going on with ColdFusion and Axis. I'm at the end of my rope over this one. Please help. ------------------------------------------------------------------------------------------------------------------------- Debug info We are running ColdFusion 7.0.2 Standard edition. WSDL: http://api.sandbox.superbreak.com/soap/SOAPEndpoint.cfc?wsdl Example raw response: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"<http://schemas.xmlsoap.org/soap/envelope/> xmlns:xsd="http://www.w3.org/2001/XMLSchema"<http://www.w3.org/2001/XMLSchema> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><http://www.w3.org/2001/XMLSchema-instance> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>java.lang.IllegalArgumentException: argument type mismatch</faultstring> <detail> <ns1:stackTrace xmlns:ns1=" http://xml.apache.org/axis/">java.lang.IllegalArgumentException:<http://xml.apache.org/axis/>argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke( Method.java:324) at org.apache.axis.utils.BeanPropertyDescriptor.set( BeanPropertyDescriptor.java:142) at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:75) at org.apache.axis.encoding.DeserializerImpl.valueComplete( DeserializerImpl.java:249) at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509) at org.apache.axis.encoding.DeserializationContext.endElement( DeserializationContext.java:1087) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171) at org.apache.axis.message.MessageElement.publishToHandler( MessageElement.java:1141) at org.apache.axis.message.RPCElement.deserialize( RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams( RPCElement.java:384) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at coldfusion.xml.rpc.CFCProvider.invoke(CFCProvider.java:54) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at coldfusion.xml.rpc.CFCServlet.doAxisPost(CFCServlet.java:163) at coldfusion.filter.AxisFilter.invoke(AxisFilter.java:43) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:219) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51) at coldfusion.filter.PathFilter.invoke(PathFilter.java:86) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69) at coldfusion.filter.ClientScopePersistenceFilter.invoke( ClientScopePersistenceFilter.java:28) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:106) at coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:182) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78) at jrun.servlet.FilterChain.doFilter(FilterChain.java:86) at com.intergral.fusionreactor.filter.FusionReactorFilter.B(Unknown Source) at com.intergral.fusionreactor.filter.FusionReactorFilter.A(Unknown Source) at com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(Unknown Source) at jrun.servlet.FilterChain.doFilter(FilterChain.java:94) at jrun.servlet.FilterChain.service(FilterChain.java:101) at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91) at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257) at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541) at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204) at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable( ThreadPool.java:318) at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426) at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)</ns1:stackTrace> <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">web01</ns2:hostname><http://xml.apache.org/axis/> </detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> You are subscribed to cfcdev. To unsubscribe, please follow the instructions at http://www.cfczone.org/listserv.cfm CFCDev is supported by: Katapult Media, Inc. We are cool code geeks looking for fun projects to rock! www.katapultmedia.com An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
