Web服务的创建,发布以及客户端的调用
来源:互联网 发布:微机室网络卡 编辑:程序博客网 时间:2024/05/22 07:56
刚做了一个例子,实现Web服务的创建,发布,以及在客户端使用XFire调用Web服务。
(环境: MyEclipse 10, Tomcat7.0, JDK1.7, XFire 1.2.6)
Part 1: 服务器端
1.首先添加XFire用户库。如图.
至此,XFire用户库已经添加完毕。
2. 新建一个Web Service Project: ( 命名为:xWeb,模拟服务器端)
3 完成后,再New相关的包和类:
User 用户实体类
package com.bean;public class User {private String name; private String pwd;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}
IUser 用户接口类
package com.biz;import com.bean.User;public interface IUser {public User checkUser(String name, String pwd);}
IUserImpl 用户接口实现类
package com.biz.impl;import com.bean.User;import com.biz.IUser;public class IUserImpl implements IUser {/*** * 模拟 * 当用户名为"buck"的时候,返回用户信息,否则返回null */public User checkUser(String name, String pwd) {User user=null;if("buck".equals(name)&& "000".equals(pwd)){user=new User();user.setName("buck");user.setPwd("000");}return user;}}
Web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> <!-- 设置启动的有优先级 --> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
services.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>UserService</name><serviceClass>com.biz.IUser</serviceClass><implementationClass>com.biz.impl.IUserImpl</implementationClass><!-- ...... --></service></beans>
4. 部署
Web服务可以部署在任何JavaEE服务器上,部署项目,启动Tomcat,服务器启动成功...
在浏览器输入: http://http://localhost:8080/xWeb/services,显示如下界面,恭喜,表示Web服务发布成功!
单击 [wsdl] ,可以查看WSDL描述,在WSDL文档中描述了Web服务提供的各种 方法名称 、方法参数个数、类型以及方法返回参数类型,从而方便在客户端应用程序调用Web服务。(如图)
至此,服务器端已经完成!.....
Part 2: 客户端
1.新建一个Web Service Project: ( 命名为:xClient,模拟客户端)
如图 New相关的包和类.
User用户实体类
package com.bean;public class User {private String name;private String pwd;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}
IUserClient 客户端用户接口类
package com.biz;import com.bean.User;public interface IUserClient {public User checkUser(String name, String pwd);}
TestClient 测试类
package test;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.bean.User;import com.biz.IUserClient;public class TestClient {/*** * * @param args * @throws Exception * * 使用XFire创建客户端调用Web步骤: * 1.创建服务接口模板 * 2.创建代理工厂 * 3.定义Web服务地址 * 4.根据接口模板和Web服务地址返回服务类 * 5.根据调用方法,返回结果。 */public static void main(String[] args) throws Exception {// 创建服务接口Service serviceModel = new ObjectServiceFactory().create(IUserClient.class);// 创建代理工厂XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());// 定义Web服务地址String url = "http://localhost:8080/xWeb/services/UserService";// 根据接口模板和Web服务地址,返回代理服务类IUserClient ic = (IUserClient) factory.create(serviceModel, url);User user = ic.checkUser("buck", "000");if (user != null) {System.out.println(user.getName() + "----" + user.getPwd());} else {System.out.println("User is null!");}}}
2. Run as Java Application.
The end......
June 26 ,2012.
- Web服务的创建,发布以及客户端的调用
- VS2010 创建WCF以及SL的客户端如何调用WCF服务 教程(二): 创建调用WCF的SilverLight客户端
- VS2010 创建WCF以及SL的客户端如何调用WCF服务教程(一): 创建WCF
- 何如创建发布调用自己的服务?
- osgi学习笔记4之 web客户端调用已发布的接口服务
- [笔记-架构探险]web服务框架-cxf-4.1.多种方式的发布与客户端调用
- 在vs2005中创建Web Services服务,并通过客户端调用(具体的步骤)
- 在vs2005中创建Web Services服务,并通过客户端调用(具体的步骤)
- WebService服务的发布及多种客户端方式调用
- 新手之服务端创建服务以及客户端的实现
- axis2 客户端调用wss4j 安全web服务的方法
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- 通过Jersey客户端API调用RestFul风格的Web服务
- 通过Jersey客户端API调用REST风格的Web服务
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- x264中模式选择:SAD与SATD
- 求最小公倍数和最大公约数的总结
- 收到短信了,我该做点什么?
- 《Tomcat权威指南》读书笔记
- ListView 动态删除添加Item方法
- Web服务的创建,发布以及客户端的调用
- gcc __attribute__ ((packed)) || __attribute__ ((aligned(4))) 2
- 2012.6.26
- ubuntu乱码汇总
- linux ,Android基础知识总结
- 基于VM的MerOBS搭建
- oracle学习资料pdf
- Fedora 15/16 安装后需要做的28件事
- JavaScript中的面向对象