webservice学习了

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.  * 服务端的接口 
  7.  * @author Bird 
  8.  * 
  9.  */  
  10. @WebService  
  11. public interface IMyService {  
  12.     public int add(int a, int b);  
  13.       
  14.     public int minus(int a, int b);  
  15. }  

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

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

[java]  view plain copy print ?
  1. package com.bird.service;  
  2.   
  3. import javax.jws.WebService;  
  4.   
  5. /** 
  6.  * 实现类 
  7.  * @author Administrator 
  8.  * 
  9.  */  
  10. @WebService(endpointInterface="com.bird.service.IMyService")  
  11. public class MyServiceImpl implements IMyService {  
  12.   
  13.     @Override  
  14.     public int add(int a, int b) {  
  15.         System.out.println(a+"+"+b+"="+(a+b));  
  16.         return a+b;  
  17.     }  
  18.   
  19.     @Override  
  20.     public int minus(int a, int b) {  
  21.         System.out.println(a+"-"+b+"="+(a-b));  
  22.         return a-b;  
  23.     }  
  24.   
  25. }  

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


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

[java]  view plain copy print ?
  1. package com.bird.service;  
  2.   
  3. import javax.xml.ws.Endpoint;  
  4.   
  5. public class MyService {  
  6.       
  7.     /** 
  8.      * 讲服务发布出去 
  9.      * @param args 
  10.      */  
  11.     public static void main(String[] args) {  
  12.         String address="http://localhost:8888/ns";  
  13.         Endpoint.publish(address, new MyServiceImpl());  
  14.     }  
  15. }  

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txp1993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值