jboss7中用axis2对外发布webservice接口

今天在迁移查询接口的时候,遇到一个问题:在jboss7中发布的webservice接口访问不到(404),应该是某个地方的配置出了问题,下面详细介绍一下配置

1、涉及到的jar包:axis2-adb-1.5.4.jar        axis2-adb-codegen-1.5.4.jar    axis2-codegen-1.5.4.jar        axis2-java2wsdl-1.5.4.jar      axis2-kernel-1.5.4.jar         axis2-spring-1.5.4.jar         axis2-transport-http-1.5.4.jar  axis2-transport-local-1.5.4.jar 以我们项目里的policyBaseInfoService为例发布


2、修改项目里的web.xml,增加拦截axis2请求的配置,配置如下:

<servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>


3、在项目的WEB-INF下新建services包,包里放上service.xml文件,如下:

service.xml内容:

<serviceGroup>
  <service name="PolicyBaseInfoService" scope="application">
    <description>
        policy base info service
    </description>
    <parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
    <parameter name="SpringBeanName">policyBaseInfoService</parameter>
    <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
        class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
        class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
    </messageReceivers>
    <operation name="transBaseDate">
        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </operation>
  </service>

</serviceGroup>


或者不交给spring管理,可以直接定义service对应的类路径,如下:

5、配置好后,在浏览器里打开,看是否成功




猜你喜欢

转载自blog.csdn.net/jerry_player/article/details/77367701