WebService的基本介绍

时间:2022-08-11 08:58:29

一.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.测试服务是否发布成功WebService的基本介绍

(1):在我们的Myeclipse上面找到launch soap webservice exployer
WebService的基本介绍

2>:在右顶端找到wsdl page

WebService的基本介绍

WebService的基本介绍

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

WebService的基本介绍

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

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

WebService的基本介绍

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

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

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

WebService的基本介绍

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());