Web Service实际开发


初次涉及

       通过上述的Web Service的简介,其实还是有点难理解Web Service的具体功用。其实说白了,WebService就是通过调用

    其他网站的资源来获取一些必要的信息。举个例子:网络上的网站,我们电脑中的QQ等等都会涉及到天气预报,而这些天气预

    报其实就是通过Web Service来调用国家气象台网站的一些信息,而为什么要通过WebService也就很好理解了,总不能为了这

    么个功能而自己建立个气象预报台?


   2.1.1是我粗略画的关于Web Service的基本传输机制。

                           


2.1.1 Web Service 的传输原理


第一个Demo

       创建服务端——Web Service Project


对于Web Service Project的创建,供选择的框架有:JAX-WSWS。其实MyEclipse的早期版本还有个是Xfire,只不过我用的是10.6的版本,这也就造成了过时的Xfire被新版本摒弃的情况。我对这三个框架做个简要的介绍:


框架名

描述

JAX-WS

是新的WebService模式,基于注解,对WebService进行配置,相对于Xfire减少了很多的麻烦

RESTJAX-RS

用的很少,这里不做介绍

Xfire

配置繁琐,已经被摒弃



2.2.1.1   建立Web Service Project第一步



     建立业务


           因为是测试的缘故,所以这里只是简单的返回一个字符串:



2.2.2.1   创建业务类


package net.xuqiang.service;

 

publicclass HelloService {

  public String sayHello(){

     return"HELLO";

  }

}




代码段2.2.2.1   业务类实现代码


     发布WS


2.2.3.1   点击发布WS按钮



2.2.3.2   发布WS配置


注释:因为我们是新建立的,并没有建立过WSDL,所以选择Create web servicefrom Java classBottom-up scenario选项,至于框架的选择则不用多说还是JAX-WS


2.2.3.3   发布WS配置2


注释:Java class选择的是刚刚我们建立的HelloService业务类。因为之前没有生成过WSDL的缘故,所以需要把Generate WSDL inProject勾选上。另外一个要注意的是:Service Port的填写,这个是你用来访问的一个路径,也就是客户端是通过这个路径来访问的。


    配置

   MyEclipse->Properties->JavaBuild Path->Libraries选项

   

2.2.3.1   添加需要的JAR

注释:选择Add Library

2.2.3.2   添加Library

注释:选择MyEclipse Libraries

2.2.3.3   选择Libraries

注释:选择JAX-WS 2.1 Runtime Libraries(Project Metro 1.1)JAX-WS 2.1 APILibraries这两个包集。

 

 

    测试WS


   Web Service项目添加至Tomcat,并且启动Tomcat


   开启浏览器,在地址栏输入:


   http://localhost:8080/WebServiceTest/HelloServicePort?wsdl



   

2.2.4.1   浏览器返回的信息

注释:如果出现图2.2.4.1所示的图片,那么表示Web Service发布成功。

 

     创建客户端


       创建一个Java Project


2.2.5.1   创建客户端

注释:直接Finish结束创建

 

    配置客户端

2.2.6.1   点击New Web Service Client

2.2.6.2   配置1


2.2.6.3   配置2

注释:WSDL URL填写的为之前我们测试WS时候在浏览器中输入的地址,其实这个地址就是用来寻找WSDL配置文件的。其他不需要变动,点击Next

2.2.6.4   测试连接

注释:这是用来测试所输入的WSDLURL路径是否正确,当然这个前提是你得开启Web Service的服务端。点击Finish结束配置。

2.6.5     配置完成后的文件结构图

注释:配置完成后,MyEclipse会自动生成一系列的java文件。

 

    测试客户端


   

2.2.7.1   建立测试类

package net.xuqiang.service;

publicclass HelloTest {

  publicstaticvoid main(String[] args) {

     HelloServiceService service = new HelloServiceService();

     HelloServiceDelegate delegate = service.getHelloServicePort();

     System.out.println(delegate.sayHello());

  }

}

代码段2.2.5.1   测试调用类代码片段

2.2.7.2   运行结果图

注释:运行结果为我们在业务类中返回的字符串“HELLO”


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值