前言:
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。 [1]Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
作为跨平台系统的通用交互模式,web service 可以说是我们目前的首选。
一: 初步形成构建一个web service服务
服务端接口:
package com.init.service;
import javax.jws.WebService;
/**
* @webservice 要发布的服务
*/
@WebService
public interface LoginService {
public String login(String uname,String pwd);
}
服务端实现类:
package com.init.service;
import javax.jws.WebService;
@WebService
public class LoginServiceimpl implements LoginService{
@Override
public String login(String uname, String pwd) {
System.out.println("uname:"+uname+",pwd:"+pwd);
return "hello :"+uname;
}
}
服务器服务:
package com.init.server;
import com.init.service.LoginServiceimpl;
import javax.xml.ws.Endpoint;
public class LoginServer {
public static void main(String[] args){
//要发布的地址
String address="http://localhost:8080/login";
Endpoint.publish(address,new LoginServiceimpl());
System.out.println("服务发布成功");
}
}
运行web service服务

然后在浏览器访问得到wsdl描述

二 构建测试客户端
新建一个项目,通过自动编译 在项目的目录 使用java 自动构建命令
wsimport -keep http://localhost:8080/login?wsdl 来自动构建客户端代码

编写客户端测试类:
package com.init.client;
import com.init.service.LoginServiceimpl;
import com.init.service.LoginServiceimplService;
public class CliengTest {
public static void main(String[] args){
LoginServiceimplService service =new LoginServiceimplService();
LoginServiceimpl implport = service.getLoginServiceimplPort();
String resoult=implport.login("admin","12345677");
System.out.println(resoult);
}
}