WebService的基本介绍

Posted 大西瓜猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebService的基本介绍相关的知识,希望对你有一定的参考价值。

一.WebService的基本介绍

   1.WebService是什么?

         WebService ---> Web Service web的服务

   2.思考问题:

         WebService是web的一个服务 那么为什么我们还要学习前面的SpringMVC对外提供接口呢?

         WebService实际上是一个提供给外部调用的web服务

  3.这一组的web服务到底有什么特点呢?

    (1). Web Service技术,能使得运行在不同机器上的不同应用无需借助附加的,第三方软件或硬件,就可以
   相互交换数据或者集成。

    (2). WebService是跨平台的(任何语言都是可以调用的)

    (3). .net编写的WebService 我们的JAVA也是可以调用的


  4.WebService是用干什么的?

     1>:对外提供WebService服务(比如说我们可以将我们的服务提供给第三方来进行调用)

     2>:我们可以使用别人提供的WebService服务

       IP地址查询 天气预报 证券信息 手机号归属地查询 中英文翻译....


  5.我们在开发中多数都是用别人提供的WEB服务 也有自己提供web服务的时候

      网络上提供的免费的WebService服务
     http://www.webxml.com.cn/zh_cn/index.aspx


二.WebService的JDK下的开发

要使用JDK来开发我们的WebService服务的话 那么我们的JDK至少在1.6以上 否则是没有办法玩的


第一个HelloWord程序

我们要对外提供web服务,而且在我们测试的时候还需要编写我们的客户端代码


1.服务端

   1>:建立一个JAVA工程

   2>:编写WEB服务的接口(interface)

   3>:该当前的接口添加@WebService注解

   4>:申明接口中的方法并指定@WebMethod的注解

   5>:编写接口的实现类 并提供@WebService和@WebMethod的注解

   6>:发布我们的WebService的服务


思考:服务发布成功之后 ,我怎么知道这个服务是否发布成功呢?


2.测试服务是否发布成功

  (1):在我们的Myeclipse上面找到launch soap webservice exployer

 

     2>:在右顶端找到wsdl page

 

 

 

     3>:在下面的框输入我们发布的webservice的地址?wsdl 并点击go

 

 

     4>:找到我们要测试的方法点击

     5>:找到add添加调用方法所需要的参数

 

     6>:go---->如果结果和预期是正确的话那么说明我们的WebService服务是可以用的

(2):使用我们的浏览器直接来测试

      1>:在我们的浏览器上直接输入我们发布的地址?wsdl

 


      2>:如果在浏览器上出现一大堆的xml文档,那么说明我们的webService发布成功


3.客户端

    1>:建立一个JAVA工程

    2>:首先打开命令提示符进入控制台,再进入到我们客户端的工程的src目录下
      使用cd /d 文件路径

    3>:在控制台上输入 wsimport -keep WebService服务的发布路径?wsdl ,就会自动的在src下面 生成webservice的代码

    4>:编写测试文件

         1>:创建一个测试类Test
           找你浏览器一大堆XML文档中的最后一个Service就是你需要创建的对象 直接new

         2>:获取实际操作方法的类
           通过上面的对象.get...port

        3>:调用实际的方法


4.通过WebService获取天气预报并改错

  1>:找到免费的天气服务(上面有网址)

  2>:在浏览器上输入天气预报的服务地址?wsdl

  3>:在本地创建一个WeatherWS.wsdl的文件 将浏览器的内容拷贝进来

  4>:改错(http://blog.csdn.net/u011186019/article/details/41622245)

  <s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>

  5>:在控制台输入:wsimport -keep 路径(本地的wsdl文件的路径)

  6>:创建类

           //找到我们要new的这个类
        WeatherWS weatherWS = new WeatherWS();
          //获取实际操作数据的对象
       WeatherWSSoap weatherWSSoap = weatherWS.getWeatherWSSoap();
         //调用方法 获取返回值
       ArrayOfString weather = weatherWSSoap.getWeather("成都",null);
         //获取回来的天气预报是
       System.out.println(weather.getString());

 

 

 

 

 

以上是关于WebService的基本介绍的主要内容,如果未能解决你的问题,请参考以下文章

WebService的基本介绍

CXF 简单创建Webserver 例子

FineReport中以jws方式调用WebService数据源方案

WebServic调用天气预报服务

麻烦用比较通俗易懂的语言帮我介绍一下JMS,中间件,webService,WSDL以及SOAP之间的关系.

如何在调用WebService方法时,传递对象数组参数