限制

下面一節將討論資料處理常式的限制。

SOAP style 及 use 準則

SOAP 訊息使用 Web 服務所定義的 style 和 use 來建立的。 SOAP 資料處理常式提供 表 46 中所顯示的支援層次。

表 46. Style 及 use 準則
Style Use 定義的組件使用 資料處理常式支援
document literal element 全部
document literal type 有限制 (請參閱下面說明)
document encoded element
document encoded type 有限制 (請參閱下面說明)
rpc literal element
rpc literal type 全部
rpc encoded element
rpc encoded type 全部

組件及組件元素順序

當 SOAP 資料處理常式將 SOAP 訊息轉換成商業物件, 且 SOAP 訊息遵循 document/literal/type 或 document/encoded/type 格式時, 訊息組件的順序必須依照 WSDL 中所描述的順序。例如您可以參酌下列 WSDL:

<operation name="GetQuote"
      style="document" ...>
 <input>
    <soap:body parts="Part1 Part2 Part3 Part4" use="literal">
 </input>
 </operation>
  
 <definitions
  xmlns:stns="(SchemaTNS)"
 xmlns:wtns="(WsdlTNS)"
 targetNamespace="(WsdlTNS)">
  
 <schema targetNamespace="(SchemaTNS)"
                  elementFormDefault="qualified">
 <element name="SimpleElement" type="xsd:int"/>
 <element name="CompositElement" type="stns:CompositeType"/>
 <complexType name="CompositeType">
 <all>
       <element name='elem_a' type="xsd:int"/>
       <element name='elem_b' type="xsd:string"/>
 </all>
 </complexType>
 </schema>
  
 <message...>
 <part name='Part1' type="stns:CompositeType"/>
 <part name='Part2' type="xsd:int"/>
 <part name='Part3' element="stns:SimpleElement"/>
 <part name='Part4' element="stns:CompositeElement"/>
 </message>
 Ö
 </definitions>
 

SOAP 訊息必須遵循組件所定義的順序。 於以下的 SOAP 範例中,請注意 Part1 元素要在 Part2、Part3 及 Part4 元素之前。 為了可正確地進行 BO 解析,必須維持此順序。

<soapenv:body... xmlns:mns="(MessageNS)"
    xmlns:stns="(SchemaTNS)">
    <stns:elem_a>123</stns:elem_a>
    <stns:elem_b>hello</stns:elem_b>
    <soapenc:int>123</soapenc:int>123</soapenc:int>123</soapenc:int>
    <stns:SimpleElement>123</stns:SimpleElement>
    <stns:CompositeElement>
       <stns:elem_a>123</stns:elem_a>
       <stns:elem_b>hello</stns:elem_b>
    </stns:CompositeElement>
 </soapenv:body>
 

當 SOAP 訊息遵循 document/literal/type 或 document/encoded/type 格式時, 組件元素亦必須遵循該順序。 於上例的 Part1 中,elem_a 標籤必須在 elem_b 標籤之前。 此限制是由資料處理常式的商業物件解析程序來指定的。 由於文件樣式的預設商業物件解析會使用第一個元素的主體名稱及名稱空間, 所以在此特定要求、回應或錯誤的所有 SOAP 訊息中,這些都必須是相同元素, 如此才能在每個案例中解析相同的商業物件。

註:
當 SOAP 訊息遵循 document/literal/type 或 document/encoded/type 格式時, 元素絕不可為選用性的。

XML 限制

下列 XML 結構、特性及表示法不受支援:

Copyright IBM Corp. 1997, 2003