Apache Axis是一个功能齐全的SOAP引擎,提供创建服务端,客户端和网关SOAP操作的基本框架,

 

1.常用的Web服务框架

1.1Apache服务框架Axis

缺点:开发过程繁琐,配置复杂,缺少简单易懂用户指南

 

1.2 CodeHaus服务框架XFire

优点:简化Web服务开发,开发速度快,可以和Spring结合

缺点:缺少支持附件的功能,缺少简单易懂的用户指南

 

1.3 Apache服务框架CXF

 

2.Eclipse+Axis2整合开发Web Service----HelloWorld实例

1.下载并安装Axis2

1.1http://axis.apache.org/axis2/java/core/index.html

1.2

1.3

该Axis2类似于一个Tomcat容器,可以通过bin\axis2server.bat来启动该服务

修改confi\axis2.xml中的端口8080为8081。

启动后在地址栏http://localhost:8081/来看Axis2的服务

 

1.4 配置Eclipse与Axis2的集成

 

1.5开发Web service服务器端--AxisHelloWorldServer项目

1.首先创建AxisHelloWorldServer,并新建包名com.demo

2.新建服务类HelloWorld.java

1 package com.demo;
2 
3 public class HelloWorld {
4 
5     public String sayHello(String world){
6         System.out.println("接受客户端请求:"+world);
7         return "Hello"+world+"!";
8     }
9 }

3.新建并发布Web Service

为了使以上普通POJO类能够作为WEB服务被发布,

接下来在AxisHelloWorldServer项目名称上单击鼠标右键

在弹出快捷菜单中选择新建命令

在弹出窗口中选择Web Service->Web Service

 

单击Next,出现Web Service,在Service Implementation后单击Browse

按钮来添加一个实现类,直接指向刚才新建HelloWorld.java

将Web Service type中滑块调到Start service的位置,

将Client type中滑块调到Test Client的位置

 

 

 

 

 

 

等启动后,单击Next按钮一切默认,最后Finsh

 

访问Web Service

http://localhost:8080/WebServiceProject/services/HelloWorld?wsdl

 

 

至此,我们就完成了helloworld.java发布Web的过程

WebServiceProject和WebServiceProjectClient是两个滑块对应的服务项目

 

4.开发Web Service客户端-----AxisHelloWorldClient项目

为了开发客户端服务器,新建一个AxisHelloWorldClient,并新建一个包com.demo

1.导出Web Service客户端代码

在AxisHelloWorldClient上右键项目,新建,点击Web Services--》Web Service Client

在Service implementation中输入http://localhost:8080/WebServiceProject/services/HelloWorld?wsdl

点击Finsh,此时AxisHelloWorldClient项目com.demo包下产生Web服务端java代码

 

2.编写客户端类

根据HelloWorldLocator的getHelloWorldHttpSoap11Endpoint()的方法获得Hello World实例

 1 package com.demo;
 2 
 3 import java.rmi.RemoteException;
 4 
 5 import javax.xml.rpc.ServiceException;
 6 
 7 public class HelloWorldClient {
 8     
 9     public static void main(String[] args) {
10         
11         String world;
12         try {
13             world = new HelloWorldLocator().getHelloWorldHttpSoap11Endpoint().sayHello("World");
14             System.out.println(world);
15         } catch (RemoteException e) {
16             // TODO Auto-generated catch block
17             e.printStackTrace();
18         } catch (ServiceException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         }
22     }
23 }

3.运行客户端类

此时运行客户端HelloWorldClient.java

该结果是通过服务端调用返回的,同时服务端又输出world

 

5. 打包AxisHelloWorldServer.zip和AxisHelloWorldClient.zip

 以后导入到eclipse直接使用

posted on 2016-03-02 22:45  Sharpest  阅读(505)  评论(0)    收藏  举报