美文网首页
学好JAVA-WebService你对Web开发又精进了

学好JAVA-WebService你对Web开发又精进了

作者: 一眼万年的星空 | 来源:发表于2022-10-06 17:12 被阅读0次

    webservice基本概念
    简介
    webservice即web服务,它时一种跨编程语言和跨操作系统平台的远程调用技术
    Java中共有三种Webservice规范,分别是JAX-WS(JAX-RPC),JAXM&&SAAJ,JAX-RS 一三用的比较多
    webservice三要素:soap wsdl uddi

    imagng imageffpng

    术语
    webservice开发规范
    java中共有三种webservice规范
    1JAX-WS

    imagekkpng

    2,JAXM&&SAAJ

    imagekjpng

    3,JAX-RS

    imagekkpng

    SOAP协议

    imagekkpng

    SOAP

    imagekpng

    WSDL说明书

    imagekkng imageklhpng imagllng

    UDDI

    imaglpng imagkng imagelpng imagelfpng imagdang imagagdpng

    webService
    WebService学习笔记
    1.应用场景:
    • 解决企业内部异构系统的整合问题
    • 解决一些公共资源的复用问题
    2.使用案例(调用QQ接口,查看QQ是否在线)
    2.1 调用QQ是否在线服务
    准备工作:
    在网上找到QQ在线状态的WEB服务,其中:
    Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx
    WSDL : http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
    测试实例:
    • 首先,打开命令行,定位到java项目所在的src文件下,输入
    wsimport -s. http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
    编译完成后,会自动生成代码:
    此时,我新建了client文件夹,用于测试.
    • 在测试之前,在浏览器地址栏输入:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
    页面如下:
    此时,只需关注两个地方,
    1.<wsdl:service name="qqOnlineWebService">\

    1. <wsdl:portType name="qqOnlineWebServiceSoap">

      在该段分支下的operation为方法的名称.
      • 接着 通过java代码来测试服务
    运行java代码:
      
       Y代表在线,运行成功.
    

    2.2 天气预报(解决服务出错)

    准备工作

    Endpoint: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

    WSDL : http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

    测试实例

    出错

    解决

    将网页源代码复制到本地:

    在ieda里面新建wsdl文件

    将本地的:

    <s:element ref="s:schema"/><s:any/>

    替换成:

    <s:any minOccurs="2" maxOccurs="2"/>

    修改完成之后,重新运行cmd命令,将远程服务换成本都服务.

    此时代码生成成功.

    客户端调用代码:

    运行结果:

    此时,天气预报接口服务调用成功.

    3.通过注解规范化发布接口

    3.1 相关注解

    • @WebService

    • @WebMethod

    • @WebResult

    • @WebParam

    @WebParam和@WebResult 一般贴在方法上,提高可读性

    分别贴在对应的位置上:

    浏览器打开:

    @WebMethod

    可以使某个方法不对外开放,@WebMethod(exclude=true)

    @WebService注解

    可以发布指定的服务,@WebService(endpointInterface = '指定的接口名') -----一般用于实现类上

    如:@WebService(endpointInterface = "cn.wjh1832.webservice.IWeatherService")

    4.cxf

    4.1简介

    4.2环境搭建

    下载cxf,配置cxf的环境变量.

    配置完成后,在cmd命令行输入 wsdl2java 回车,出现以下内容代表安装成功.

    4.3CXF发布服务

    服务端

    步骤:

    • 拷jar包

    • 写接口,实现类

    • 发布服务

    • 在浏览器访问 http://localhost:8888/weatherService?wsdl

    发布成功

    客户端

    在命令行输入 wsdl2java -d . http://localhost:8888/weatherService?wsdl

    代码生成成功.

    客户端调用

    4.4 cxf调用网络服务

    案例: 以手机归属地查询为例

    http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

    客户端步骤与手动发布的步骤一样.

    webService

    WebService学习笔记

    1.应用场景:

    • 解决企业内部异构系统的整合问题
    • 解决一些公共资源的复用问题

    2.使用案例(调用QQ接口,查看QQ是否在线)

    2.1 调用QQ是否在线服务

    准备工作:

    在网上找到QQ在线状态的WEB服务,其中:

    Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx

    WSDL : http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl

    测试实例:

    imag1png

    编译完成后,会自动生成代码:

    imagkgagpng

    此时,我新建了client文件夹,用于测试.

    页面如下:

    imagesuwnpng

    此时,只需关注两个地方,

    1.<wsdl:service name="qqOnlineWebService">

    imagewetwepng
    1. <wsdl:portType name="qqOnlineWebServiceSoap">
    imagesiewepng

    在该段分支下的operation为方法的名称.

    • 接着 通过java代码来测试服务
    imagewiwewpng

    运行java代码:

    imagewiuwieng

    Y代表在线,运行成功.

    2.2 天气预报(解决服务出错)

    准备工作

              Endpoint:  <http://www.webxml.com.cn/WebServices/WeatherWebService.asmx>
    

    ****WSDL : http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

    测试实例

    出错

    imageeiurpng

    解决

    将网页源代码复制到本地:

    imag23epng

    在ieda里面新建wsdl文件

    image732png

    将本地的:

                <s:element ref="s:schema"/><s:any/>
    

    替换成:

            <s:any minOccurs="2" maxOccurs="2"/>
    

    修改完成之后,重新运行cmd命令,将远程服务换成本都服务.

    此时代码生成成功.

    image2837dhspng

    客户端调用代码:

    imageererpng

    运行结果:

    image39743png

    此时,天气预报接口服务调用成功.

    相关文章

      网友评论

          本文标题:学好JAVA-WebService你对Web开发又精进了

          本文链接:https://www.haomeiwen.com/subject/lmomartx.html