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

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

New Here ,
Apr 28, 2008 Apr 28, 2008

Copy link to clipboard

Copied

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

Views

335

Translate

Translate

Report

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

Copy link to clipboard

Copied

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

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

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
Documentation