リクエスト定義

WSDL の Request Definitions セグメントは、Product Advertising API のオペレーションのリクエストを定義しています。次にWSDLのコーディングの一部を示します。

<xs:complexType name="ItemSearchRequest">
  <xs:sequence>
  <xs:element name="Actor" type="xs:string" minOccurs="0" /> 
  <xs:element name="Artist" type="xs:string" minOccurs="0" /> 
  <xs:element name="Availability" minOccurs="0">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="Available" /> 
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element ref="tns:AudienceRating" minOccurs="0" maxOccurs="unbounded" /> 

このコードは、 ItemSearch の入力パラメータの一部であるActor, Artist, Availabilityおよび AudienceRatingを示しています。要素宣言は、これらのパラメータが ItemSearch リクエストで有効であることを示しています。この例のほとんどのパラメータは文字列です。ただし、Availabilityの型は、基本クラスである文字列のバリエーションです。この場合、Availabilityで有効な値となる文字列が制約されます。そのために、制限されたキーワードが使用されます。有効なAvailabilityの値は列挙型で定義されます。列挙には、有効な値が1つ、 "Available" しかないため、パラメータAvailabilityには1つの値だけを設定できることになります。

minOccursは、パラメータが ItemSearch リクエストに現れる最小回数を表します。値がゼロの場合、関連付けられているパラメータはオプションです。値が1の場合、関連付けられているパラメータは、そのオペレーションが関係する全てのリクエストで1回指定する必要があります。デフォルト値は1です。そのため、minOccursが要素宣言に含まれていない場合、minOccurs は1です。

maxOccursは、パラメータがリクエストに現れることができる最大回数を定義します。デフォルトは1です。そのため、maxOccursが要素宣言に含まれていない場合、maxOccursは1となり、パラメータはリクエストに1回しか現れることができません。前の例で、maxOccursは "unbounded (無制限)" です。つまり、AudienceRatingパラメータは、 ItemSearch リクエストに何度でも現れることができます。

前の例では、パラメータの型は simpleType と宣言されています。単純型 (simpleType) には子要素や属性を指定できません。複合型 (complexType) は子要素や属性を指定できます。実際には、配列など、複数の値をとることができるパラメータは、複合型として定義する必要があります。

次のコードは、複合型の例を示しています。

<xs:element name="ItemSearch">
  <xs:complexType>
  <xs:sequence>
    <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0" /> 
    <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0" /> 
    <xs:element name="SubscriptionId" type="xs:string" minOccurs="0" /> 

この定義は、 ItemSearch リクエストに使用できる3つのパラメータを示しています。