2018-12-07 webService

1. WebServices简介

1.1 什么是WebServices
WebServices是应用程序组件
WebServices使用开放协议进行通信
WebServices是独立并可以自我描述
WebServices可通过使用UDDI来发现
WebServices可被其它应用程序使用
XML是WebServices的基础
1.2 它如何工作
XML+HTTP
1.3 WebServices平台元素
SOAP(简单对象访问协议)
UDDI(它是一种目录服务)
WSDL(Web services描述语言)

2. 为什么使用WebServices

可在不同的应用程序与平台之间交换数据

3. WebServices开发手段

3.1 使用jdk开发(1.6及以上版本)
3.2 使用框架开发,例如:axis2、cxf

4. jdk开发WebServices

4.1 服务端实现
4.1.1 定义一个interfac,使用@WebService注解标注接口,@WebMethod注解标注方法
4.1.2 定义此接口的实现类,并使用@WebService注解标注
4.1.3 使用Endpoint(终端)类发布webservice
String address = “http://localhost:8080/myws”;
Endpoint.publish(address, new MyServiceImpl());
4.1.4 测试服务
4.1.4.1 直接在浏览器中输入:
http://localhost:8080/myws?wsdl
4.1.4.2 使用Eclipse自带的工具进行测试
Launch the Web Services Explorer–>WSDL Page

注1:WSDL是什么?WSDL全名为:网络服务描述语言,它是Web Service的描述语言,它包含一系列描述某个web service的定义

4.2 客户端实现
4.2.1 使用jdk的wsimport.exe(java_home\bin)工具生成客户端代码
shift+右键
wsimport -keep http://localhost:8089/myscore?wsdl
wsimport -keep *.xml

4.2.2 调用客户端代码完成
      // 创建工厂对象
  WebServiceImplService factory = new WebServiceImplService();
  // 通过工厂对象创建WebServiceImpl对象
  WebServiceImpl webServiceImpl = factory.getWebServiceImplPort();
  1. 案例:电话号码归属地查询
    6.案例:天气预报的查询
    参考:https://blog.csdn.net/aqsunkai/article/details/51711087

–前提:ssh2集成成功
–webservice服务器端的开发

  1. axis2与ssh2集成
    1.1 添加axis2依赖

1.2 创建WebService服务
IAccountService
AccountServiceImpl

1.3 创建applicationContext-ws.xml文件

  <bean id="accountService"......>

1.4 在自己WEB项目的WEB-INF目录下添加如下路径,并将services.xml复制到如下路径
services/spring/META-INF/services.xml

  修改services.xml文件
    <service name="AccountWebService" scope="application">
       <parameter name="SpringBeanName">accountWebService</parameter>

1.5 修改web.xml添加

  <!-- 注册axis2的servlet -->
  <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>
        org.apache.axis2.transport.http.AxisServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>  

1.6 修改struts2中央控制器的的mapping,避免与AxisServlet冲突

struts2
.action


struts2
.jsp

  1. WebService客户端开发
    2.1 添加axis2相关依赖
    2.2 使用axis2的codegen-plugin生成相关代码
    用普通Java工程生成axis2的客户端源码,再复制到maven项目中
    2.3 通过生成的代码访问webservice服务
    访问XxxStub类,而非原来的服务接口

注1:此时tomcat必须处于运行状态
注2:通过普通Java工程生成axis2的客户端源码,不需要选中项目的src文件夹,插件会自动处理
注3:添加axis2相关jar或是依赖

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值