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]

Reply via email to