解析Web接口描述語(yǔ)言WSDL(6)_Windows教程
WSDL包含了以某種MIME格式將抽象類型與具體消息綁定在一起的方式。為下列MIME類型定義了綁定:
multipart/related
text/XML
application/x-www-form-urlencoded (此格式用于替代HTML中的表單)
其它 ( 由MIME類型字符串指定)
對(duì)MIME類型的定義的工作量很大,且是發(fā)展的,因此為每種MIME類型費(fèi)力地定義XML語(yǔ)法不是WSDL的目標(biāo)。在需要時(shí),不排除增加額外的語(yǔ)法以定義另外的MIME類型。如果MIME類型字符串提供的信息足夠描述內(nèi)容,那么就可以使用下面定義的mime元素。
MIME綁定使用下列元素?cái)U(kuò)展WSDL:(注意黑體標(biāo)注)
<mime:content part="nmtoken"? type="string"?/>…1
<mime:multipartRelated>…2
<mime:part> * …3
<-- mime element -->
</mime:part>
</mime:multipartRelated>
<mime:mimeXMLpart="nmtoken"?/> …4
1)mime:content
為了避免為每個(gè)MIME格式定義新的元素,如果不需要傳送格式(而不是MIME類型字符串)的附加信息,就可以使用mime:content元素。
<mime:content part="nmtoken"? type="string"?/>
屬性part用于指定消息part的名字。如果只有一個(gè)part,那么它的屬性是可選的。屬性type包含MIME類型的字符串。類型的值是由斜杠(/),每個(gè)值可以是一個(gè)通配符(*)。如果沒(méi)有指定類型屬性,就表示所有的MIME類型是可選的。
如果返回格式是XML,但模式事先并不知道,通用mime元素可用于指示text/XML:
�。糾ime:content type="text/XML"/>
通配符可用于指定某類MIME類型,對(duì)所有文本類型如下例所示:
�。糾ime:content type="text/*"/>
下面兩個(gè)例子都指定了所有的mime類型:
<mime:content type="*/*"/>
�。糾ime:content/>
2)mime:multipartRelated
multipart/related MIME類型任意的MIME格式化部分聚集為一個(gè)使用MIME 類型"multipart/related"的消息。
3)mime:part
元素mime:part描述了multipart/related消息的各個(gè)部分。在mime:part元素中出現(xiàn)的MIME元素用于為各部分指定具體的MIME類型。如果在一個(gè)mime:part元素中出現(xiàn)多個(gè)MIME元素,那么它們是可相互替換的。
4)mime:mimeXML為了指定與SOAP不兼容(沒(méi)有SOAP封裝)的XML負(fù)荷,但存在一個(gè)特殊的模式,就可以使用mime:mimeXml元素指定具體的模式。屬性part引用定義了根XML元素具體模式的消息part。如果消息只有一個(gè)part,那么就可以忽略part屬性。part使用element屬性為單個(gè)part引用具體模式,或者使用type 屬性為組合part進(jìn)行引用。
5)soap:body
當(dāng)SOAP請(qǐng)求使用MIME綁定時(shí),將元素soap:body作為MIME元素使用是合法的。這指出內(nèi)容的類型是"text/XML",并且存在SOAP封裝。
- 相關(guān)鏈接:
- 教程說(shuō)明:
Windows教程-解析Web接口描述語(yǔ)言WSDL(6)
。