Axis2“;“禁止使用https”;

Axis2“;“禁止使用https”;,https,axis2,Https,Axis2,我是SOAP新手,正在构建我的第一个Axis2(V1.6.2)web服务。我从一位同事那里复制了一个小型测试服务,如果我使用http而不是https,它就会运行。我的同事没有这个问题 我收到的错误是“javax.servlet.ServletException:https被禁止”。我的Axis2.xml文件包含以下内容: <transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletLis

我是SOAP新手,正在构建我的第一个Axis2(V1.6.2)web服务。我从一位同事那里复制了一个小型测试服务,如果我使用http而不是https,它就会运行。我的同事没有这个问题

我收到的错误是“javax.servlet.ServletException:https被禁止”。我的Axis2.xml文件包含以下内容:

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

8080
8443
我正在测试localhost、JRE 6.1和Tomcat 7.0.25。我的同事(能够使用https)正在使用Websphere 6和Axis2 v.1.6.0,因此这可能是appserver或Axis2版本问题。我们不使用Maven

我的Tomcat端口是http:8080、https:8443和AJP:8009

如果您能帮助解决此https错误,我们将不胜感激

更新:尚未解决,但似乎与以下内容相似或相同:
我可以马上想到两个可能的问题

  • 可能位于web服务前面的IIS/Apache服务器正在使用某种域限制。使用mod_authz_host,您可以根据特定http模式的域限制其访问

  • 如果您使用Java从服务器访问web服务,则可能需要在JDK安全cacerts文件中安装与web服务相关联的证书。如果您的同事在websphere中工作,他们可能已经安装了证书


  • 我发现了原因。我的web.xml文件中有以下条目,用于AxisServlet。我的同事也有这个条目,但她的条目被注释掉了。此条目导致服务器启动时出现“未找到文件”错误。对此的评论解决了这个问题

        <init-param>
            <param-name>axis2.xml.path</param-name>
            <param-value>/WEB-INF/conf/axis2.xml</param-value>
        </init-param>
    
    
    axis2.xml.path
    /WEB-INF/conf/axis2.xml
    
    利努克斯·刘易斯,谢谢你的回复