《PHP核心技术与最佳实践》-Web服务的实现模式
程序员文章站
2022-06-05 23:44:44
...
PHP支持两种WEB服务模式:WSDL和non-WSDL,为便于理解,先介绍Web服务的两种实现模式:
契约先行模式(Contract First)
代码先行模式(Code First)
契约先行模式:首要工作是定义针对这个WEB服务接口的WSDL(Web Services Description Language,网页服务描述语言)文件。WSDL文件中描述了WEB服务的位置、可提供的操作集以及其他属性。WSDL文件也就是WEB服务的“契约”。“契约”订立之后,再据此进行服务器端和客户端的应用程序开发。这种模式对应WSDL模式。
WSDL文件包括5部分:Types,Message,ProtType,Binding,Service.
Types:类型定义独立于语言,对应于SOAP消息中要传输的元素信息的定义。
Message:每个WEB方法对应两个Message定义in和out,而Message的定义包含头和体。
PortType:每个WebService对应一个PortType,其中又包含了对其发布的方法、操作。
Bindings:指定PortType中每个操作(类以及方法)的绑定消息,包含input和output消息的格式。
Service:每个WebService绑定的port消息。
某个 WSDL 文档的简化的片段: