1.什么是webservice?
Webservice就是远程调用技术,也叫XML Web Service ,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
远程调用技术:远程调用是指一台设备上的程序 A 可以调用另一台设备上的方法 B
比如:银联提供给商场的 pos 刷卡系统,商场的 pos 机转账调用的转账方法的代码其实是跑在银行服务器上的。
1.1 Webservice的特点
跨编程语言:是指服务端、客户端程序的编程语言可以不同
跨操作系统平台:是指服务端、客户端可在不同的操作系统上运行
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.2 和 xcf3.2.5 构建
2.2 pom.xml如下
加入了hibernate是为了bean的验证,不加可以试试看会不会报错
2.3接口CxfService
2.4CxfServiceImpl实现类
2.5配置cxfconfig
注意别导错类!!!
启动访问
这个xml的阅读方式:
先找service节点:每个wsdl中,有且只有一个service节点。也叫服务视图节点。service中有port节点服务端端口。
根据port节点的binding属性找binding节点。根据binding节点的type属性找portType节点。
portType节点就是我们定义的SEI服务的接口类型。Prottype中的operation 节点就是方法名称。
operation 节点的input就是参数的定义,output就是返回值的定义。
Input有个属性叫做message,message属性对应message节点。其中有一个element,对应element节点。
Element节点定义中xsd中。定义了数据的类型。参数和返回值都在其中定义。
下次再弄客户端哈!