契约先行模式(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 文档的简化的片段:
