1.什么是webservice?

Webservice就是远程调用技术,也叫XML Web Service ,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

远程调用技术:远程调用是指一台设备上的程序 A 可以调用另一台设备上的方法 B
比如:银联提供给商场的 pos 刷卡系统,商场的 pos 机转账调用的转账方法的代码其实是跑在银行服务器上的。

1.1 Webservice的特点

  1. 跨编程语言:是指服务端、客户端程序的编程语言可以不同
  2. 跨操作系统平台:是指服务端、客户端可在不同的操作系统上运行

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

2.开始服务端

2.1项目的目录结构如下,基于 SpringBoot2.4.2xcf3.2.5 构建

image.png

2.2 pom.xml如下

image.png
加入了hibernate是为了bean的验证,不加可以试试看会不会报错

2.3接口CxfService

image.png

2.4CxfServiceImpl实现类

image.png

2.5配置cxfconfig

image.png
image.png
注意别导错类!!!
image.png
启动访问
image.png
image.png
这个xml的阅读方式:

  1. 先找service节点:每个wsdl中,有且只有一个service节点。也叫服务视图节点。service中有port节点服务端端口。
  2. 根据port节点的binding属性找binding节点。根据binding节点的type属性找portType节点。
  3. portType节点就是我们定义的SEI服务的接口类型。Prottype中的operation 节点就是方法名称。
  4. operation 节点的input就是参数的定义,output就是返回值的定义。
  5. Input有个属性叫做messagemessage属性对应message节点。其中有一个element,对应element节点。
  6. Element节点定义中xsd中。定义了数据的类型。参数和返回值都在其中定义。

下次再弄客户端哈!