Copy link to clipboard
Copied
Hello everyone,
I'm looking for answers to why a webservice is failing.
First a little background:
Running coldfusion2016 multiple instances
apache 2.4.27
openssl 1.0.1l
Unix virtual environment
I have this .cfc application that runs fine http but when we force https by apache vhost redirect I start seeing the following in coldfusion exception logs and the service fails.
"Error","ajp-nio-8030-exec-3","10/16/17","17:24:10","Planning_Complete","The web service operation caused an invocation exception.The root cause was that: javax.servlet.ServletException: https is forbidden The specific sequence of files included or processed is: /webservices/planning/planning_project_complete.cfc'' "
coldfusion.filter.AxisFilter$WebServiceInvocationException: The web service operation caused an invocation exception.
at coldfusion.filter.AxisFilter.invoke(AxisFilter.java:95)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:505)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:153)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.CFCFlushFilter.invoke(CFCFlushFilter.java:26)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:156)
at coldfusion.xml.rpc.CFCServlet.doGet(CFCServlet.java:298)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:763)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:351)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:214)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:800)
at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36)
at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71)
at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54)
at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:193)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:322)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:363)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:507)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.servlet.ServletException: https is forbidden
at org.apache.axis2.transport.http.AxisServlet.preprocessRequest(AxisServlet.java:654)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:264)
at coldfusion.xml.rpc.CFAxis2Servlet.doGet(CFAxis2Servlet.java:126)
at coldfusion.xml.rpc.CFCServlet.doAxis2Get(CFCServlet.java:268)
at coldfusion.filter.AxisFilter.invoke(AxisFilter.java:85)
... 58 more
Things I have tried so far:
1. Imported the site certificate into the JRE keystore "/local/jdk/jre/lib/security/cacerts"
2. added these lines into the Axis2.xml file
<transportReceiver name="http" class="coldfusion.xml.rpc.CFAxisServletListener">
<parameter name="port">80</parameter>
</transportReceiver>
<transportReceiver name="https" class="coldfusion.xml.rpc.CFAxisServletListener">
<parameter name="port">443</parameter>
</transportReceiver>
3. Changing the Axis version to 1 via CFadmin page (This will allow it to run but it's not the solution I need since it causes other web services to break)
I believe the problem lies within the Axis2.xml and the web.xml files but am out of ideas at the moment. The error in the logs doesnt really give you any good feedback with anything I have tried so far.
You state in number 2 that you added those lines. Did you comment out the other line that it replaces?
I assume you restarted the CF service too?
Does the following apply? - https://stackoverflow.com/a/13867157
Copy link to clipboard
Copied
You state in number 2 that you added those lines. Did you comment out the other line that it replaces?
I assume you restarted the CF service too?
Does the following apply? - https://stackoverflow.com/a/13867157
Copy link to clipboard
Copied
Thank you for the response, and yes that is the solution.
After looking at it again, i realized that there is an Axis2.xml in each instance and the one that I was working in was within the CFusion/wwwroot/web-inf directory. As soon as I added those lines into the axis2.xml in the correct instance directory it worked like a champ. Still need to do testing on all web services and then move into production but I feel pretty confident about this solution.