Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。用简单点的话说,就是系统对外的接口!Java同样也内置了对于WebService的支持,以前的Java一般是通过RMI框架实现进程或者服务的通信,现在的webservice更加强大,下面我们就使用一个简单的例子在快速入门webservice.
1. 建立webservice首先需要建立一个服务接口,我们的例子是IMyService,它的意思是将这个接口作为服务公布出去,让其他的类通过通信来访问调用我们这个接口。代码如下
package com.bird.service;import javax.jws.WebService;/** * 服务端的接口 * @author Bird * */@WebServicepublic interface IMyService { public int add(int a, int b); public int minus(int a, int b);}
注意一下上面,这个接口上面有一个注解,这个注解是非常重要的
2.。建立这个接口的实现类,这个不用多说,很简单,通俗易懂
package com.bird.service;import javax.jws.WebService;/** * 实现类 * @author Administrator * */@WebService(endpointInterface="com.bird.service.IMyService")public class MyServiceImpl implements IMyService { @Override public int add(int a, int b) { System.out.println(a+"+"+b+"="+(a+b)); return a+b; } @Override public int minus(int a, int b) { System.out.println(a+"-"+b+"="+(a-b)); return a-b; }}
同样注意,这个实现类上面有一个注解,这个注解内部表明它是某个公开出去的接口或者说是服务的实现类
3.建立服务端,将服务发布出去
package com.bird.service;import javax.xml.ws.Endpoint;public class MyService { /** * 讲服务发布出去 * @param args */ public static void main(String[] args) { String address="http://localhost:8888/ns"; Endpoint.publish(address, new MyServiceImpl()); }}
这时候我们就可以通过浏览器访问http://localhost:8888/ns来访问我们这个类,看到它的类的描述文件xml了
4.我们还可以写一个客户端,这个客户端通过地址远程访问我们公布出去的服务,然后传给这个服务参数调用这个服务,获取服务的返回值
package com.bird.service;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;public class Client { public static void main(String[] args) { try { URL url = new URL("http://localhost:8888/ns?wsdl"); QName sname = new QName("http://service.bird.com/","MyServiceImplService"); Service server = Service.create(url, sname); IMyService ms = server.getPort(IMyService.class); System.out.println(ms.add(12, 12)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
这样整体的一个简单的webservice的快速入门案例就写完了,其实webservice 还是非常简单的。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow