Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Consuming axis webservice works in ColdFusion 8, not in ColdFusion 7 - same exact code

New Here ,
Apr 28, 2008 Apr 28, 2008
I have the same CFML code that I used to invoke a webservice in ColdFusion 8 that works fine.
I think it's a java version related issue (ColdFusion 7 uses JDK 1.4, ColdFusion 8 uses JDK 1.6).

When I deploy this in a ColdFusion 7 server, I get an illegal argument exception:

Could not perform web service invocation "insertUpdateDnbCompany".
Here is the fault returned when invoking the web service operation:

java.lang.IllegalArgumentException: argument type mismatch

Here's the stack trace:

java.lang.IllegalArgumentException: 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 coldfusion.xml.rpc.ServiceProxy.invokeImpl(ServiceProxy.java:223)
at coldfusion.xml.rpc.ServiceProxy.invoke(ServiceProxy.java:153)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634)
at cfReplicate22ecfm975370412.runPage(E:\Inetpub\wwwroot\webapps_NEW\MDM\Replicate2.cfm:11)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:225)
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.BrowserDebugFilter.invoke(BrowserDebugFilter.java:52)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115)
at coldfusion.CfmServlet.service(CfmServlet.java:107)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
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)

TOPICS
Advanced techniques
357
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Apr 28, 2008 Apr 28, 2008
You should start by changing this line and all dependant lines from:
request = structNew();
to:
req = structNew(); or variables.request

Request is a build in scope and should not be used this way. Changing this very well cause this to function in both CF7 and CF8 since it after introspecting the request and struct types some significant restructuring of the underlying java classes. Inorder to help any more I would need to see the wsdl.

HTH

-Jason

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 28, 2008 Apr 28, 2008
I'll try to prepend my request struct with the variables prefix and see if it resolves the issue. But this is why I called my struct request.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 28, 2008 Apr 28, 2008
LATEST
I changed my struct to be called 'req' instead of request and it worked! I guess it doesn't matter that it's named different from my .wsdl.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources