1.webservice快速实例以及wsimport使用

来源:互联网 发布:mac版matlab安装 编辑:程序博客网 时间:2024/05/24 04:51

Web service是一个平台独立的,松耦合的、自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
易构平台之间的交互,使用不同语言开发的远程应用程序可以使用webservice对外提供服务,其他平台(可以是不同语言开发的)可以调用该服务来获取需要的信息。

新建Java项目
这里写图片描述

编写实例接口
IMyService.java

@WebServicepublic interface IMyService {    public int add(int a,int b);    public int minus(int a,int b);}

编写实现类
MyServiceImpl.java

@WebService(endpointInterface = "webservice.start.IMyService")public class MyServiceImpl implements IMyService{    public int add(int a, int b) {        System.out.println(a+"+"+b+"="+(a+b));        return a+b;    }    public int minus(int a, int b) {        System.out.println(a+"-"+b+"="+(a-b));        return a-b;    }}

编写服务发布类
MyServer.java

public class MyServer {    public static void main(String[] args) {        String address = "http://localhost:8888/ns";        Endpoint.publish(address, new MyServiceImpl());    }}

运行MyServer类,在浏览器访问http://localhost:8888/ns?wsdl
这里写图片描述

使用wsimport生成调用接口相关类,打开cmd窗口输入以下命令。

wsimport -d f:/webservice/01/ -keep -verbose http://localhost:8888/ns?wsdl

这里写图片描述

这里写图片描述

新建一个新的项目
这里写图片描述

创建客户端测试类
TestClient.java

public class TestClient {    public static void main(String[] args) {        try {          //创建访问wsdl服务地址的url            URL url=new URL("http://localhost:8888/ns?wsdl");            //通过Qname指定服务的具体信息            QName qName=new QName("http://start.webservice/", "MyServiceImplService");            //创建服务            Service service= Service.create(url,qName);            //实现接口            IMyService ms=service.getPort(IMyService.class);            System.out.println(ms.add(12,13));        } catch (Exception e) {            e.printStackTrace();        }    }}

创建TestClient1类,另一种调用简单方式
TestClient2.java

public class TestClient2 {    public static void main(String[] args) {        MyServiceImplService msis=new MyServiceImplService();        IMyService ms=msis.getMyServiceImplPort();        System.out.println(ms.add(15,15));    }}

当服务方运行并提供服务接口,调用方调用,可以本地完成想要实现的需求
这里写图片描述

这里写图片描述

这里写图片描述

原创粉丝点击