限制

表 48 說明用於各種組合之樣式、使用及組件定義的 WSDL ODA 支援,而方法是使用 WSDL 及 XML 綱目中的類型及元素。


表 48.
WSDL ODA 限制
Style/Use/Part 說明
rpc/encoded/type 支援
rpc/encoded/element 支援
rpc/literal/type 支援
rpc/literal/element 支援
doc/encoded/type 不支援
doc/encoded/element 不支援
doc/literal/type 支援
doc/literal/element 支援

WSDL ODA 可以擷取完全獨立自足 (在一個檔案中) 的 WSDL 檔案,或是分開的檔案, 包括一個包含服務元素的實作檔、一個包含所有其他 WSDL 元素 (包括:types、messages、 portTypes 及 bindings) 的介面檔,以及一或數個適用於網目的檔案。 WSDL ODA 無法順利地擷取含有多個介面檔的 WSDL 檔案,例如,一個介面檔包含 messages 和 portTypes,另一個介面檔包含 bindings。

依據名稱空間字首,WSDL 文件中的 <schema> 元素必須是自行包含的。不能將 WSDL 文件之 <definitions><types>...</types></definitions> 元素中所定義的名稱空間字首,用在 <types> 元素之子項的 <schema> 元素中。若名稱空間字首用於 <schema> 元素的子元素中, 您必須在 <schema> 元素中,重新定義名稱空間字首。 下列範例會顯示因為該綱目沒有自行包含,所以此綱目不正確。

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:NS="NS">
     <types>
          <schema xmlns="http://www.w3.org/1999/XMLSchema">
         <element name="NSElem" type="NS:NSType"/>
          </schema>
    </types>
 </definitions>
 

名稱空間字首 NS 定義於 <definitions> 元素中, 並且會用於 <schema> 元素中,而且不會重新定義。 所以 WSDL ODA 會擲出錯誤。若要解除這個限制,請重新定義 <schema> 元素的 名稱空間字首 NS,如下所示:

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:NS="NS">
     <types>
          <schema xmlns="http://www.w3.org/1999/XMLSchema" xmlns:NS="NS">
         <element name="NSElem" type="NS:NSType"/>
          </schema>
    </types>
 </definitions>
 

Copyright IBM Corp. 1997, 2004