JAX-WS(Java6引进) 是SOAP协议的一个Java的实现规范,这个新规范是为了简化基于SOAP的Java开发。JAX-WS规范其实就是一组XMLweb services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented来实现自己的web services。通过使用 Java™ API for XMLWeb Services (JAX-WS) 技术设计和开发 Web 服务,可以带来很多好处,能简化 Web 服务的开发和部署,并能加速 Web 服务的开发。
在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议,比如SOAP。在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。
一 、实现一个基于JWS的webservice项目(直接使用JWS api 实现,不借助任何webservice框架)
(1)在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现类SIB(Service implementation Bean)。
(2)通过调用JAX-WS的“服务发布接口-api”就可以将其发布为WebService接口。
(3)在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。wsimport命令用于生成本地代理(即本地对象)。
(4)创建客户端类测试webservice接口。
设计流程如下:
通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net、PHP等)的互操作。 另外,JAX-WS同时支持基于SOAP的Web服务和REST风格的Web服务。
二、项目实例
1.设计服务器端,首先创建一个java项目,项目名称为:service_start
1.1 创建接口(SEI)
IMyService.java
1.2 创建实现类(SBI)
MyServiceImpl.java
- @WebService(endpointInterface="org.zttc.service.IMyService")
- class MyServiceImpl implements IMyService {
- @Override
- int add(int b) {
- System.out.println(a+"+"+b+"="+(a+b));
- return a+b;
- }
- int minus( System.out.println(a+"-"+b+"="+(a-b));
- return a-b;
- public User login(String username, String password) {
- System.out.println(username+" is logining");
- User user = new User();
- user.setId(1);
- user.setUsername(username);
- user.setPassword(password);
- return user;
- }
1.3发布服务
MyServer.java