WebServices

什么是WebServices
Web Services 是应用程序组件

Web Services 使用开放协议进行通信

Web Services 是独立的(self-contained)并可自我描述

Web Services 可通过使用UDDI来发现

Web Services 可被其他应用程序使用

XML 是 Web Services 的基础
它是如何工作

  • 基础的Web Services 平台是 XML+HTTP
  • HTPP协议是最常用的因特网协议
  • XML提供了一种可用于不同的平台编程语言之间的语言
    Web Services平台的元素
  • SOAP(简单对象访问协议)
  • UDDI(它是一种目录服务)
  • WSDL(Web Services 描述语言)
    为什么使用Web Services
    可在不同的应用程序与平台之间交换数据
    通过案例来模拟Web Services执行机制
    服务端
    创建一个服务端的项目工程
    定义一个interface,使用@WebServics注解标注接口,使用@MethodService注解标注方法
@WebService
public interface IScoreBiz {
	/**
	 * 根据名字查询分数
	 * @param name
	 * @return
	 */
	@WebMethod
	public Integer find(String name);

}

定义此接口的实现类,使用@WebService注解标注实现类

@WebService
public class ScoreBizImpl implements IScoreBiz {

	Random random = new Random();

	@Override
	public Integer find(String name) {

		return random.nextInt(150);
	}

}

使用(EndPoint)终端发布 WebService

public class StartServie {
	/**
	 * 使用ENDPOINT(终端)类发布WEBSERVICE
	 */
	public static void main(String[] args) {
		String address = "http://localhost:8080/WebServices";
		Endpoint.publish(address, new ScoreBizImpl());
		System.out.println("服务启动了");
	}
	
	
	

}

测试服务
浏览器直接输入:(项目名是你自己创建的)
http://localhost:8080/WebServices?wsdl
在这里插入图片描述
使用Eclipse自带的工具进行测试
点击javee
在这里插入图片描述
然后点击 Launch the Web Services Explorer–>WSDL Page 输入url
在这里插入图片描述
下面就是你通过洪端发布的方法
在这里插入图片描述
输入用户名进行查询分数
在这里插入图片描述
客户端
使用jdk的wsimport.exe(java_home\bin)工具生成客户端代码,代开cmd.exe
在这里插入图片描述
你可能会遇到这个问题,那么怎么解决呢?在我博客里面解决办法。
当你解析完成的时候,在你新建的项目名里面就会有客户端的数据在这里插入图片描述完成测试
编写查询分数的类

public class FindScore {
/**
 * 调用客户端
 * @param name
 * @return
 */
	public Integer find(String name) {
		
		// 创建工厂对象
		ScoreBizImplService factory = new ScoreBizImplService();
		// 通过工厂对象创建WebServiceImpl对象
		ScoreBizImpl scoreBizImplPort = factory.getScoreBizImplPort();
		Integer score = scoreBizImplPort.find(name);
		return score;
		
	}

}

测试类

	public static void main(String[] args) {
		FindScore findScore = new FindScore();
		String name = "zs";
		Integer score = findScore.find(name );
		System.out.println(name+"="+score);
	}

控制台输出
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值