Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。用简单点的话说,就是系统对外的接口!Java同样也内置了对于WebService的支持,以前的Java一般是通过RMI框架实现进程或者服务的通信,现在的webservice更加强大,下面我们就使用一个简单的例子在快速入门webservice.
?1. 建立webservice首先需要建立一个服务接口,我们的例子是IMyService,它的意思是将这个接口作为服务公布出去,让其他的类通过通信来访问调用我们这个接口。代码如下
- package?com.bird.service;??
- ??
- import?javax.jws.WebService;??
- ?
- ?
- ?*?@author?Bird?
- ?*?
- ?*/??
- @WebService??
- public?interface?IMyService?{??
- ????int?add(int?a,?int?b);??
- ??????
- int?minus( }??
注意一下上面,这个接口上面有一个注解,这个注解是非常重要的
2.。建立这个接口的实现类,这个不用多说,很简单,通俗易懂
?
?*?实现类?
- ?*?@author?Administrator?
- @WebService(endpointInterface="com.bird.service.IMyService")??
- class?MyServiceImpl?implements?IMyService?{??
- ????@Override??
- int?b)?{??
- ????????System.out.println(a+"+"+b+"="+(a+b));??
- ????????return?a+b;??
- ????}??
- ????????System.out.println(a+"-"+b+"="+(a-b));??
- return?a-b;??
- }??
同样注意,这个实现类上面有一个注解,这个注解内部表明它是某个公开出去的接口或者说是服务的实现类
3.建立服务端,将服务发布出去
?
import ?javax.xml.ws.Endpoint;??
class?MyService?{??
??????
?????
?????*?@param?args?
?????*/??
????static?void?main(String[]?args)?{??
????????String?address="http://localhost:8888/ns";??
????????Endpoint.publish(address,?new?MyServiceImpl());??
????}??
}??
这时候我们就可以通过浏览器访问http://localhost:8888/ns来访问我们这个类,看到它的类的描述文件xml了
4.我们还可以写一个客户端,这个客户端通过地址远程访问我们公布出去的服务,然后传给这个服务参数调用这个服务,获取服务的返回值
?
import ?java.net.URL;??
import?javax.xml.namespace.QName;??
import?javax.xml.ws.Service;??
??
class?Client?{??
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)?{??
??????????????
????????????e.printStackTrace();??
????????}??
??????????
}??
这样整体的一个简单的webservice的快速入门案例就写完了,其实webservice 还是非常简单的。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|