После обновления библиотеки axis2 в логах стало появляться такое предупреждение:
[AxisServlet] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured
А при попытках обращения к сервису по SOAP возникала ошибка javax.servlet.ServletException: https is forbidden:
1 2 3 4 5 |
javax.servlet.ServletException: https is forbidden at org.apache.axis2.transport.http.AxisServlet.preprocessRequest(AxisServlet.java:673) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:149) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at |
Для исправления ошибки нужно в файле конфигурации “axis2.xml”:
1 2 3 4 5 6 7 |
<transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8080</parameter> </transportReceiver> <transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8443</parameter> </transportReceiver> |
До этого моя конфигурация описывала SimpleHttpListener:
1 2 3 4 |
<transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> <parameter name="port">8080</parameter> </transportReceiver> |
Описание SimpleHttpListener нам больше не нужно. Его нужно убрать.