加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 00:28:50 所属栏目:安全 来源:网络整理
导读:1、简单阐述原理 WebService是对于Socket程序的封装。简单的实现客户端服务器的访问。也就是将下图的Socket程序封装了起来更加简单的实现。请看原理图: 2、准备条件: ?????? A、准备JDK 1.6.20以上的版本(1.6.20之后被Oracle公司收购之后加入ws处理),并且加

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命令(位于JAVAHOME/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("张磊");
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读