在Tomcat中部署Axis 2并以自定义路径访问Web服务

时间:2018-07-31 01:49:03

标签: web-services soap axis2

我有一个基于Axis2的Web服务,我在Tomcat中部署了它,首先我下载了​​axis2.war并将其放置在Tomcat的webapps文件夹中,然后创建了axis2文件夹及其子文件夹。在services子文件夹中,放置.aar文件。然后在浏览器中,转到http://localhost:8080/axis2。它有一个链接服务,列出了所有服务。假设我的服务是HelloWorldService。因此可访问的路径是

  

http://localhost:8080/axis2/services/HelloWorldService

但是我不想向世界透露我的Web服务是由Axis2驱动的。假设我希望路径为

  

http://localhost:8080/abc/services/HelloWorldService

该怎么做?我是否必须将axis2文件夹重命名为abc。我还在同一个Tomcat中部署了一个Web应用程序abc。我是否将axis2子文件夹的内容复制到abc。我尝试过,没有用。

1 个答案:

答案 0 :(得分:0)

  

我还在同一个Tomcat中部署了一个Web应用程序abc。是否将axis2子文件夹的内容复制到abc。

您正在考虑正确的方向,是的,您必须将Axis2.warabc的所有内容(不需要100%,但最好从此开始) web.xml

您必须将axis2.war/WEB-INF/web.xml的内容与abc/WEB-INF/web.xml合并,方法是分别将以下内容分别复制到<web-app> XML标签中。

    <servlet>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <!--<init-param>-->
        <!--<param-name>axis2.xml.path</param-name>-->
        <!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
        <!--<param-name>axis2.xml.url</param-name>-->
        <!--<param-value>http://localhost/myrepo/axis2.xml</param-value>-->
        <!--<param-name>axis2.repository.path</param-name>-->
        <!--<param-value>/WEB-INF</param-value>-->
        <!--<param-name>axis2.repository.url</param-name>-->
        <!--<param-value>http://localhost/myrepo</param-value>-->
        <!--</init-param>-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <display-name>Apache-Axis AxisAdmin Servlet (Web Admin)</display-name>
        <servlet-name>AxisAdminServlet</servlet-name>
        <servlet-class>org.apache.axis2.webapp.AxisAdminServlet</servlet-class>
    </servlet>



<servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>AxisAdminServlet</servlet-name>
        <url-pattern>/axis2-admin/*</url-pattern>
    </servlet-mapping>

希望它对您有用!如果不起作用,请更新您的问题,我可以重新调整答案。