WSDL の Request Definitions セグメントは、Product Advertising API のオペレーションのリクエストを定義しています。次にWSDLのコーディングの一部を示します。
<xs:complexType name="ItemSearch
Request">
<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つのパラメータを示しています。