0

SimpleDBのドキュメントには、ListDomainsメソッドに対するこのサンプルリクエストが含まれています。Signature、Timestamp、AWSAccessKeyId、およびVersionサブ要素があることに注意してください。

  <SOAP-ENV:Body>
    <ListDomainsRequest xmlns=" http://sdb.amazonaws.com/doc/2007-11-07">
      <Signature>SZf1CHmQnrZbsrC13hCZS061ywsEXAMPLE&lt;</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は、よりクリーンなアプローチであり、長期的な「SOAPwithWS-Security」エンベロープ/ボディモデルによりよく適合するため、引き続きアプリケーションレベルの要素のみをカバーします。」

リクエストの例は正しいですか?たとえばDelphiでWSDLをインポートしても、認証要素のコードは生成されません。

4

1 に答える 1

0

まあ、承認要素は実際には少し奇妙なWSDLの一部ではないように見えます...。

さらにおかしなことに-AmazonのドキュメントはSOAPヘッダーでその情報を提供することについて話します-それでも、彼らのサンプルは明らかにそれを<SOAP-ENV:Body>要素に入れています...。

これらの追加要素をDelphiコードまたはWSDL自体に手動で追加するとどうなりますか?SimpleDBサービスが満足するように調整できますか?

マーク

于 2009-05-09T08:33:48.087 に答える