SimpleDB documentationには、この例のListDomainsメソッドのリクエストが含まれています。署名、タイムスタンプ、AWSAccessKeyId及びバージョンサブ要素が存在すること 注WS-Securityを使用しないSOAPのAmazon SimpleDB WSDLは正しいですか?
<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の顧客サポートは、すでにこのように設計され、これを調査し、意見:
は、例えば、要求は正しいですか?たとえば、DelphiでWSDLをインポートしても、承認要素のコードは生成されません。 SOAPヘッダにその情報を提供についてアマゾンのドキュメント会談 - -
はい、調整が可能ですが、WSDLが変更されるたびに変更を再度適用する必要があります。 AWS開発者フォーラムで(古い)WSDLのハッキングされたバージョンへのリンクが見つかりました。誰かが私と同じ問題を抱えていました。もっと洗練されたソリューションがあるかもしれません。 – mjn