SimpleDB 文档包括对 ListDomains 方法的此示例请求。请注意,有 Signature、Timestamp、AWSAccessKeyId 和 Version 子元素:
<SOAP-ENV:Body>
<ListDomainsRequest xmlns=" http://sdb.amazonaws.com/doc/2007-11-07">
<Signature>SZf1CHmQnrZbsrC13hCZS061ywsEXAMPLE<</Signature>
<Timestamp>2009-02-16T17:39:51.000Z</Timestamp>
<AWSAccessKeyId>1D9FVRAYCP1VJS767E02EXAMPLE</AWSAccessKeyId>
<Version>2007-11-07</Version>
<Action>ListDomains</Action>
</ListDomainsRequest>
</SOAP-ENV:Body>
WSDL对ListDomains 使用此定义:
<xs:element name="ListDomains">
<xs:complexType>
<xs:sequence>
<xs:element name="MaxNumberOfDomains" type="xs:int" minOccurs="0"/>
<xs:element name="NextToken" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
...
<wsdl:operation name="ListDomains">
<soap:operation soapAction="ListDomains"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
签名、时间戳、AWSAccessKeyId 和版本信息不在 ListDomains 定义中。
AWS 客户支持已经对此进行了调查,并表示这是设计的:
“WSDL 将继续只涵盖应用程序级元素,因为它是一种更简洁的方法,更适合长期的“带有 WS-Security 的 SOAP”信封/主体模型。”
示例请求是否正确?例如,在 Delphi 中导入 WSDL 不会为授权元素生成代码。