What could be causing ColdFusion to throw a “java.lang.NullPointerException: null” error when consuming a web service?
To any other computer the web service exists and works perfectly. But there is something about this installation of ColdFusion that’s causing the error. I’ve tried uninstalling and re-installing both IIS and ColdFusion with no avail.
I’ve even tried soapUI on the server which works fine. Not sure if it’s a ColdFusion/IIS issue.
Occurs using or CreateObject
Server OS: Windows Server 2008
CF Version: 9.0
IIS Version: 7.5
I’ve exhausted all ideas thrown at me so far. Any Help would be appreciated.
Stack Trace for anyone interested
at cftest2ecfm526089628.runPage(C:\inetpub\wwwroot\....cfm:21) at cftest2ecfm526089628.runPage(C:\inetpub\wwwroot\.....cfm:21)
java.lang.NullPointerException
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:801)
at org.apache.axis.client.Service.getAxisClient(Service.java:143)
at org.apache.axis.client.Service.(Service.java:152)
at com.media.modules.ws.AcfwsServiceLocator.(AcfwsServiceLocator.java:12)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at coldfusion.xml.rpc.XmlRpcServiceImpl$4.run(XmlRpcServiceImpl.java:372)
at java.security.AccessController.doPrivileged(Native Method)
at coldfusion.xml.rpc.XmlRpcServiceImpl.registerWebService(XmlRpcServiceImpl.java:368)
at coldfusion.xml.rpc.XmlRpcServiceImpl.getWebService(XmlRpcServiceImpl.java:496)
at coldfusion.xml.rpc.XmlRpcServiceImpl.getWebServiceProxy(XmlRpcServiceImpl.java:450)
at coldfusion.xml.rpc.WebServiceProxyFactory.getProxy(WebServiceProxyFactory.java:22)
at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65)
at coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:4949)
at coldfusion.runtime.CFPage.CreateObject(CFPage.java:4920)
at coldfusion.runtime.CFPage.CreateObject(CFPage.java:4861)
at coldfusion.runtime.CFPage.CreateObject(CFPage.java:4839)
at coldfusion.runtime.CFPage.CreateObject(CFPage.java:4796)
at cftest2ecfm526089628.runPage(C:\inetpub\wwwroot\ACF\TestStreaming\test.cfm:21)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
at coldfusion.CfmServlet.service(CfmServlet.java:200)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Gave up trying to invoke the web service properly in ColdFusion. Instead I wrote a small soap caller component that sends a request to the target URL with the correct soap headers/calls. If anyone wants the code it’s below. I still find it really odd that it didn’t work, I even checked in ASP on the same server which worked without problems.