您的位置:首页 > 其它

WebService系列博客{一}[发布、调用一个简单的服务]

2013-01-08 15:06 501 查看
1、简单阐述原理

WebService是对于Socket程序的封装。简单的实现客户端服务器的访问。也就是将下图的Socket程序封装了起来更加简单的实现。请看原理图:



2、准备条件:

A、准备JDK 1.6.20以上的版本(1.6.20之后被Oracle公司收购之后加入ws处理),并且加入系统高级变量Path中

B、切勿忘记@WebService的类注解

3、发布一个服务

A、在Eclipse中建立一个Java Project 目录结构如下图:





B、HelloWorld代码如下:(运行main方法启动服务)

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class HelloWorld {
	//服务器端方法
	public void SayHello(String name){
		System.out.println("hello"+name);
	}
	public static void main(String[] args) {
		//Endpoint方法发布一个服务
		//@Params address,new 服务类
		Endpoint.publish("http://192.168.1.103:8888/hello", new HelloWorld());
		System.out.println("发布了一个服务.....");
	}
}


4、访问地址栏确认服务发布成功:

http://192.168.1.103:8888/hello?wsdl 注意后面的?wsdl不可少。成功之后的页面展示如下图:



5、运用wsimport命令(位于J***AHOME/bin/)远程生成服务器端服务代码

开始-cmd进入doc环境:

d: //进入D盘

mkdir WsTest /建立WsTest目录

cd WsTest //进入WsTest目录

wsimport -s . http://192.168.1.103:8888/hello?wsdl //生成调用服务器端的代码

运行完成之后在该目录下会有和服务器端一样的包和程序







6、新建客户端类调用远程服务器端代码

A、在Eclipse新建一个Java Project 注意jre版本

B、之后将第5部生成的文件夹直接拷贝到src目录下。

C、新建一个Java文件调用生成的类文件。目录结构如下 :



D、GetWebService代码如下:

import cn.zhanglei.webservice.HelloWorld;
import cn.zhanglei.webservice.HelloWorldService;

public class GetWebService {
	public static void main(String[] args) {
		//得到调用服务器端类对象
		HelloWorld hw = 
				new HelloWorldService().getHelloWorldPort();
		
		hw.sayHello("张磊");
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: