好程序员分享WebService的简单使用

好程序员分享 WebService 的简单使用 我们在开发项目时,如果有需求需要从一个项目中去调用另一个项目中的资源,通常可以有四种方案:

1.  RESTful

2.  WebService

3.  RPC

4.  Socket

这些方式各自有其使用场景和特点,今天我们主要说一下 WebService 这种方式。

 

WebService 也是一个 web 的应用程序,可以使用 XML 的标准来描述、发布、发现、协调这些应用程序,可以用于分布式开发。

 

在开发 WebService 程序时,有一些基本概念必须要知道:

SOAP :简单对象传输协议。 SOAP 使用 XML 消息调用远程方法,这样 web services 可以通过 HTTP 协议的 post get 方法与其他远程数据交互。

WSDL WebService 描述语言。 WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于 XML 的语言,用于描述 WebService 及其函数、参数和返回值。

 

那么,究竟如何去使用 WebService 来进行两个项目数据的交互呢,接下来看一个简单的例子。

首先,新建一个工程 myServer ,在工程里新建一个 Java 类,并且开发一个基于 WebService 的服务,如下:

package  com.wl.weather;

 

import  javax.jws.WebService;

import  javax.xml.ws.Endpoint;

 

@WebService

public   class   WeatherServer  {

 

     public   String  getWeather( String  cityName){

         switch  (cityName){

             case   " 北京 " :

                 return   " " ;

             case   " 武汉 " :

                 return   " " ;

             default :

                 return   " 未知地点 " ;

        }

    }

 

     public   static  void main( String [] args) {

        Endpoint.publish( "http://192.168.52.56:9001/Service/Weather" , new   WeatherServer ());

        System.out.println( " 发布完毕 " );

    }

}

 

将工程中的 main 方法启动。

 

然后再新建一个工程 myClient 去调用 myServer 中的服务。在 myClient 中新建包 com.wl.day23.controller ,然后打开终端窗口,在终端窗口中切换到 myClient 的工程目录,并且输入如下命令:

wsimport -s . -p com.wl.day23.controller -keep http://192.168.52.56:9001/Service/Weather?wsdl  

,再看一下 myClient 项目,就会发现多了好多个接口和类,不用管这些接口和类,在 controller 包里新建一个类,并且写下如下代码:

   package  com.wl.day23.controller;

  

   public   class   IndexController   {

        public   String  list(){

           WeatherServer server = new   WeatherServerService ().getWeatherServerPort();

            String  result = server.getWeather( " 武汉 " );

           System.out.println(result);

            return   "/list" ;

       }

  

        public   static  void main( String [] args) {

            new   IndexController ().list();

       }

   }

运行 main 方法,看看有没有打印出数据,如果有显示打印数据, OK ,你成功了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913892/viewspace-2648342/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69913892/viewspace-2648342/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值