"javax.servlet.ServletException: https is Forbidden" why is my web service failing?
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.
