Axis Soap服务的架设

Axis1 Soap服务的架设

1.java写接口

 

2.使用Java 2 wsdl生成wsdl文件

  把接口和接口中所有用到的所有的类的字节码放到该目录下(自己建目录com/..)

  双击bat就会产生wsdl

 

3.使用wsdl 2 java生成Soap服务代码

  生成的wsdl的参数名称是自动生成的,而不是在java接口中自己定义的参数名称。需要手动修改wsdl

  最后把wsdl放到wsdl2java目录下。

  此时生成的全部是java类和deploy.wsdd

  需要把这些东西全部拷贝的Eclipse中变成字节码

 

4.tomcatewebapps下建立一个web服务。

  WEB-INFweb.xmlclasses中包含生成的字节码。把deploy.wsdd,undeploy.wsdd也放到相应(com/..)的目录下

  其中web.xml必须按顺序包括以下东西

  <listener>

        <listener-class>

            org.apache.axis.transport.http.AxisHTTPSessionListener

        </listener-class>

  </listener>

 

  <!-- webService服务servlet begin -->

  <servlet>

        <servlet-name>AxisServlet</servlet-name>

        <display-name>Apache-Axis Servlet</display-name>

        <servlet-class>

            org.apache.axis.transport.http.AxisServlet

        </servlet-class>

    </servlet>

 

    <servlet>

        <servlet-name>AdminServlet</servlet-name>

        <display-name>Axis Admin Servlet</display-name>

        <servlet-class>

            org.apache.axis.transport.http.AdminServlet

        </servlet-class>

        <load-on-startup>100</load-on-startup>

    </servlet>

 

    <servlet>

        <servlet-name>SOAPMonitorService</servlet-name>

        <display-name>SOAPMonitorService</display-name>

        <servlet-class>

            org.apache.axis.monitor.SOAPMonitorService

        </servlet-class>

        <init-param>

            <param-name>SOAPMonitorPort</param-name>

            <param-value>5001</param-value>

        </init-param>

        <load-on-startup>100</load-on-startup>

    </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>SOAPMonitorService</servlet-name>

        <url-pattern>/SOAPMonitor</url-pattern>

    </servlet-mapping> 

 

    <session-config>

        <!-- Default to 5 minute session timeouts -->

        <session-timeout>5</session-timeout>

    </session-config>

 

    <mime-mapping>

        <extension>wsdl</extension>

        <mime-type>text/xml</mime-type>

    </mime-mapping>

 

 

    <mime-mapping>

        <extension>xsd</extension>

        <mime-type>text/xml</mime-type>

    </mime-mapping>

   

    <welcome-file-list>

        <welcome-file>services</welcome-file>

    </welcome-file-list>

    <!-- webService服务servlet end -->

 

5.deploy soap服务

  把生成的deploy.wsdd放到deploy目录下

  首先保证在tomcate下建立一个web服务是开启的。

  deploy.bat后。把deploy.wsdd重新替换到相应(com/..)的目录下(可以不做)

  可以看到执行之后,会在WEB-INF下自动产生一个文件server-config.wsdd

 

6.撤消部署。

  把生成的undeploy.wsdd放到unDeploy目录下。执行之后就可撤消。

 

 

 

 

Axis2 Soap服务的架设

 

Axis2要求JDK1.5以上

 

1. 架设Axis2的服务开发环境

    Axis2SoapServer目录下是axis的服务端。

    如果不设置axis2的环境变量就可以直接在Axis2SoapServer\axis2-1.1.1\bin

    使用.bat文件生成wsdljava.

    设置axis2的环境变量

    AXIS2_HOME = axis2的根目录

    Path = %AXIS2_HOME%\bin(这个放到jdk的后面)

    配置成功后可以在任意目录执行java2wsdl等命令,否则只能到axis2bin目录下执行。

 

2.写一个接口类。

 

3.如果没有设置axis2的环境变量怎需要把写的接口类的的字节码放到axis2服务   bin目录下.    注意字节码必须按照包路径建立目录。com/soap/axis2/test/字节码

 

4.使用java2wsdl生成wsdl文件

 

 

5.生成wsdl后,需要生成客户端代码和服务端代码。

 

    生成客户端代码命令为 生成客户端代码到client目录下

    wsdl2java -uri SoapServiecTest.wsdl -o ./client

 

    生成服务端代码命令为 生成服务端代码到server目录下

    wsdl2java -ss -sd -ssi -uri SoapServiecTest.wsdl -o ./server

 

  客户端接口的实现类是Stub命名的

  服务端接口的实现类是Skeleton命名的

 

在生成服务端代码的时候,会生成一个resources目录,里面有2个文件

 services.xmlSoapService.wsdl文件。需要把这2个文件放到META_INF目录下打成一个*.arr文件。作为部署文件。

 

 命令如下:

  jar -cvf SoapTest.aar ./META_INF

 

 

6.把服务端代码拷贝的web服务器

 

7.部署(Axis1差距比较大)Axis1要求部署的时候web服务一定要是启动的。而axis2不做这个要求

  需要把部署必需文件目录下的所有文件拷贝的WEB-INF下。这写目录名称modulesservices目录是可以修改的。在conf目录下的axis2.xml文件中修改。

  *.arr文件拷贝到services目录下(该目录下放的是所有提供的web服务)

  然后修改services目录下的services.list文件(服务列表程序)

  在里面增加要部署的aar就可以了。没个arr文件名称为一行。

 

8.配置修改

  可以在axis2.xml文件中修改soap服务的响应时间   ConfigContextTimeoutInterval.

 

9.启动web服务。此时axis2web服务已经启动。

 

10.使用客户端程序调用服务端

 

 

 

 

 

你可能感兴趣的:(apache,Web,servlet,webservice,SOAP)