Axis2发布WebService的几种方式

来源:互联网 发布:阿赫罗梅耶夫元帅 知乎 编辑:程序博客网 时间:2024/05/16 09:42

转载:http://blog.csdn.net/zhangmeng_07/article/details/54663605

首先进行Axis2的下载和安装

 1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本:      可以下载如下两个zip包:      axis2-1.5.4-bin.zip      axis2-1.5.4-war.zip      其中 axis2-1.5.4-bin.zip文件中包含了Axis2中所有的jar文件,       axis2-1.5.4-war.zip文件用于将WebService发布到Web容器中。     2.将axis2-1.5.4-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到<Tomcat安装目录>\webapps目录中,     并启动Tomcat,在浏览器地址栏中输入如下的URL:     http://localhost:8080/axis2/,如看到axis2的主页面则安装成功。

发布方式:

一、使用aar包方式发布
这种方式也是Axis2官方比较推荐的一种方式,Axis2 提供的Eclipse插件就是以这种方式发布WebService。
这种方式前面我们已经接触过了,这里还是简单的介绍一下步骤:

1.新建一个eclipse工程,编写Web服务接口及实现类,例如:
HelloWorld.java

package com.csdn.ws.axis2.recipe01;public interface HelloWorld {    public String sayHello(String name);}

HelloWorldImpl.java

package com.csdn.ws.axis2.recipe01;public class HelloWorldImpl implements HelloWorld {    @Override    public String sayHello(String name) {        return "hello," + name;    }}

2.新建META-INF目录,在该目录下新建services.xml,用于描述WebService配置:

<?xml version="1.0" encoding="UTF-8"?><service name="HelloWorld">    <description>        HelloWorld Service Example    </description>    <parameter name="ServiceClass">        com.csdn.ws.axis2.recipe01.HelloWorldImpl    </parameter>    <parameter name="useOriginalwsdl">        false    </parameter>    <operation name="sayHello">        <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />    </operation></service>

3.將工程导出jar包,后缀名为*.aar,放到%TOMCAT_HOME%/webapps/axis2/WEB-INF/services目录下。

4.重启tomcat,浏览器访问http://localhost:8080/axis2/services/listServices,可以看到多了一个名为HelloWorld的WebService。

二、基于POJO方式发布WebService
这种方式相对来讲比较简单,需要以下几步
1.新建一个工程,在src目录下新建一个类,例如类名为PojoService(注意不能有包名)

public class PojoService {    public String sayHello(String name) {        return "Hello," + name;    }}

2.进入bin目录下,將编译过后的PojoService.class文件拷贝到%TOMCAT_HOME%/webapps/axis2/WEB-INF/pojo目录下,如果没有该目录,新建一个。

3.重启tomcat,浏览器访问http://localhost:8080/axis2/services/listServices,可以看到名为PojoService的服务。
使用这种方式发布的WebService名称和Pojo类名相同,且Pojo类中不能使用package关键字。

三、基于JAX-WS方式发布WebService
使用JAX-WS发布WebService大家已经不陌生了,Axis2同样支持以JAX-WS方法发布WebService,接下来看步骤

1.新建一个Java Project,编写Web服务接口和Web服务实现类,使用JDK自带的JAX-WS 注解API修饰它们,例如:
JAXWS.java

package com.csdn.ws.axis2.recipe03;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface JAXWS {    @WebMethod    public String sayHello(String name);}

JAXWSImpl.java

package com.csdn.ws.axis2.recipe03;import javax.jws.WebService;@WebService(endpointInterface="com.csdn.ws.axis2.recipe03.JAXWS",serviceName="JaxWS")public class JAXWSImpl implements JAXWS{    @Override    public String sayHello(String name) {        return "Hello," + name;    }}

2.右键工程,导出jar包,后缀名为*.jar,然后將导出的jar包复制到%TOMCAT_HOME%/webapps/axis2/WEB-INF/servicejars目录,如果没有servicejars目录,新建一个。

3.將JDK lib目录下的tools.jar包拷贝到tomcat的lib目录下,这一步很重要,否则会报错。

4.重启tomcat,打开浏览器访问http://localhost:8080/axis2/services/listServices,可以看到名为JaxWS的WebService。

注:使用Axis2发布WebService的方式比较多,但最常用的就是第一种,后面两种了解即可,下节开始介绍Axis2 Eclipse插件的使用。

阅读全文
0 0
原创粉丝点击