Сбой веб-службы ColdFusion 10 CFC с javax.servlet.ServletException: https запрещен

Этот вопрос аналогичен приведенной ниже ссылке, посвященной Java:

https://stackoverflow.com/questions/7214211/web-service-authentication-using-https-giving-error

Однако эта проблема специфична для ColdFusion 10, и ответ на вопрос выше лишь намекает на решение в ColdFusion 10.

Проблема: У вас есть веб-сервис CFC и он отлично работает через http (порт 80). При попытке запустить ту же веб-службу через https (порт 443) происходит сбой веб-службы. Ошибки не очень полезны для IIS или ColdFusion. Если вы просмотрите журналы исключений, вы найдете сообщение об ошибке, подобное этому:

javax.servlet.ServletException: https запрещен

Причина проблемы в том, что «transportReceiver» настроен на работу только с http по умолчанию с ColdFusion 10.


person Scott Jibben    schedule 29.07.2013    source источник


Ответы (1)


Для Windows:

Откройте файл {cfusionhome}\cfusion\wwwroot\WEB-INF\axis2.xml

Найдите следующую строку:

<transportReceiver name="http"
                   class="coldfusion.xml.rpc.CFAxisServletListener"/>

Замените эту строку на:

<!--    <transportReceiver name="http"
                   class="coldfusion.xml.rpc.CFAxisServletListener"/> -->

<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>

Затем перезапустите службу «Сервер приложений ColdFusion 10».

person Scott Jibben    schedule 29.07.2013
comment
Обратите внимание, что эта проблема по-прежнему существует в ColdFusion 2016. Также обратите внимание, что файл axis2.xml уникален для каждого экземпляра ColdFusion, поэтому в примере Джиббена замените папку cfusion именем вашего экземпляра, чтобы исправление вступило в силу для этого экземпляра. - person Mark; 27.03.2019
comment
Это все еще проблема в ColdFusion 2021. Путь к файлу axis2.xml в ColdFusion Enterprise: {cfusionhome}\{instancename}\wwwroot\WEB-INF\axis2.xml Также обратите внимание, что имя класса изменилось на: coldfusion.xml.rpc.module.CFAxisServletListener, так что будьте будьте осторожны, просто копируя и вставляя код прямо из ответа Скотта. - person Mark; 14.06.2021