加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice学习了

发布时间:2020-12-16 23:10:21 所属栏目:安全 来源:网络整理
导读:Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。 用简单点的话说,就是系统对外的接口!Java同样也内置了对于WebService的支持,以前的Java一般是通过RMI框架实现进程或者服务的

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。用简单点的话说,就是系统对外的接口!Java同样也内置了对于WebService的支持,以前的Java一般是通过RMI框架实现进程或者服务的通信,现在的webservice更加强大,下面我们就使用一个简单的例子在快速入门webservice.


?1. 建立webservice首先需要建立一个服务接口,我们的例子是IMyService,它的意思是将这个接口作为服务公布出去,让其他的类通过通信来访问调用我们这个接口。代码如下

[java]? view plain copy print ?
  1. package?com.bird.service;??
  2. ??
  3. import?javax.jws.WebService;??
  4. /**?
  5. ?*?服务端的接口?
  6. ?*?@author?Bird?
  7. ?*?
  8. ?*/??
  9. @WebService??
  10. public?interface?IMyService?{??
  11. ????int?add(int?a,?int?b);??
  12. ??????
  13. int?minus( }??

注意一下上面,这个接口上面有一个注解,这个注解是非常重要的

2.。建立这个接口的实现类,这个不用多说,很简单,通俗易懂

?

    ?*?实现类?
  1. ?*?@author?Administrator?
  2. @WebService(endpointInterface="com.bird.service.IMyService")??
  3. class?MyServiceImpl?implements?IMyService?{??
  4. ????@Override??
  5. int?b)?{??
  6. ????????System.out.println(a+"+"+b+"="+(a+b));??
  7. ????????return?a+b;??
  8. ????}??
  9. ????????System.out.println(a+"-"+b+"="+(a-b));??
  10. return?a-b;??
  11. }??

同样注意,这个实现类上面有一个注解,这个注解内部表明它是某个公开出去的接口或者说是服务的实现类

3.建立服务端,将服务发布出去

?

    import?javax.xml.ws.Endpoint;??
  1. class?MyService?{??
  2. ??????
  3. ?????????*?讲服务发布出去?
  4. ?????*?@param?args?
  5. ?????*/??
  6. ????static?void?main(String[]?args)?{??
  7. ????????String?address="http://localhost:8888/ns";??
  8. ????????Endpoint.publish(address,?new?MyServiceImpl());??
  9. ????}??
  10. }??

这时候我们就可以通过浏览器访问http://localhost:8888/ns来访问我们这个类,看到它的类的描述文件xml了

4.我们还可以写一个客户端,这个客户端通过地址远程访问我们公布出去的服务,然后传给这个服务参数调用这个服务,获取服务的返回值

?

    import?java.net.URL;??
  1. import?javax.xml.namespace.QName;??
  2. import?javax.xml.ws.Service;??
  3. ??
  4. class?Client?{??
  5. void?main(String[]?args)?{??
  6. ????????try?{??
  7. ????????????URL?url?=?new?URL("http://localhost:8888/ns?wsdl");??
  8. ????????????QName?sname?=?new?QName("http://service.bird.com/","MyServiceImplService");??
  9. ????????????Service?server?=?Service.create(url,?sname);??
  10. ??????????????
  11. ????????????IMyService?ms?=?server.getPort(IMyService.class);??
  12. ????????????System.out.println(ms.add(12,?12));??
  13. ????????}?catch?(Exception?e)?{??
  14. ????????????//?TODO?Auto-generated?catch?block??
  15. ????????????e.printStackTrace();??
  16. ????????}??
  17. ??????????
  18. }??

这样整体的一个简单的webservice的快速入门案例就写完了,其实webservice 还是非常简单的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读