同样需要注意,为远程接口描述一个完全机器可读的描述契约是一种谬论。用WSDL或WADL创建的机器可读描述仅能描述结构和语法,而不能描述语义。但机器可读的描述有时能降低我们作为程序员、测试员和管理员需要做的工作量。
要是我们把统一接口和契约的动态方面搁置一边,我们可以用机器可读方式描述契约的剩余部分。以下就有一个示例。注意,在这个描述中,我的意图只是想帮助那些要监测或测试客户端/服务器端交互的工具和框架,当然不是要模仿WSDL或WADL。
<description xmlns:bank="urn:org:bank:accounts">
<types>
<!-- Include the schema used for all representations -->
<include href="bank-schema.rng"/>
</types>
<!-- List all media types and the corresponding XML types -->
<media-types>
<media-type>
<name>application/vnd.bank.org.accounts+xml</name>
<representation>bank:account</representation>
</media-type>
<media-type>
<name>application/vnd.bank.org.transfer+xml</name>
<representation>bank:transfer</representation>
</media-type>
...
</media-types>