WSDL端口
<portType>元素描述一个web service,可执行的操作,已经现骨干的消息。
端口定义了指向某个web service的连接点。可以吧元素比作传统编程员中的一个函数库(或一个模块,或一个类),而吧每个操作比作传统编程语言中国的一个函数。
one-way 可接受消息,但是不会返回响应
Request-response 接受请求并返回一个响应
solicit-response 发送一个请求,等待一个响应
notification 发送一条消息,但不会等待响应
One-Way 操作
一个 one-way 操作的例子:
<message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType >
在这个例子中,端口 "glossaryTerms" 定义了一个名为 "setTerm" 的 one-way 操作。
这个 "setTerm" 操作可接受新术语表项目消息的输入,这些消息使用一条名为 "newTermValues" 的消息,此消息带有输入参数 "term" 和 "value"。不过,没有为这个操作定义任何输出。
Request-Response 操作
一个 request-response 操作的例子:
<message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>
在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作。
"getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数。