axis2 如果需要进行 https 访问,需要加入全局配置文件 axis2.xml (Axis2 下提供了三种配置文件,第一种是整个系统的全局配置 axis2.xml,第二种是服务配置 services.xml,第三种是模块配置 module.xml),默认该文件是存储在 /WEB-INF/conf/axis2.xml (或 /WEB-INF/axis2.xml)。axis2.xml 文件可以在 axis2 的开发包下获取。
修改发布的axis2.xml, 搜索transportReceiver标签
<transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"> <parameter name="port">8080</parameter> </transportReceiver>
将其修改为:
<transportReceiver name="https" class="org.apache.axis2.transport.http.SimpleHTTPServer"> <parameter name="port">8443</parameter> </transportReceiver>
遇到的错误
1、javax.servlet.ServletException: org.apache.axis2.AxisFault: The system is attempting to engage a module that is not available: addressing
解决方法:到 axis2.xml 中查找
<!-- Comment this to disable Addressing --> <module ref="addressing"/>
将 addressing 的引用注释掉。
2、https is forbidden
解决方法:核实 axis2.xml 文件位置是否正确,默认是在 WEB-INF/conf/axis2.xml,以及 axis2.xml 中是否配置了 https。
解决问题中参考的文章有
https://axis.apache.org/axis2/java/core/docs/servlet-transport.html#Configuring_axis2.xml
https://www.cnblogs.com/alfredinchange/p/5389657.html
https://blog.csdn.net/shiwenqing/article/details/7768939
https://blog.csdn.net/suamt/article/details/9376607