2008-11-14 35 views
1

我們正在構建將數據存儲在S3存儲桶中的應用程序。但是,我們在PutObject方法中遇到問題。這裏是XML數據包我們送出:需要幫助診斷Amazon S3中的SOAP數據包問題

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <PutObject xmlns="http://doc.s3.amazonaws.com/2006-03-01"> 
     <Bucket>lills</Bucket> 
     <Key>lills123</Key> 
     <Metadata> 
      <Name>Content-Type</Name> 
      <Value>text/plain</Value> 
     </Metadata> 
     <Metadata> 
      <Name>title</Name> 
      <Value>lills</Value> 
     </Metadata> 
     <Data>aGEtaGE=</Data> 
     <ContentLength>5</ContentLength> 
     <AWSAccessKeyId>key</AWSAccessKeyId> 
     <Timestamp>2008-11-12T06:23:17Z</Timestamp> 
     <Signature>signature</Signature> 
     </PutObject> 
    </soap:Body> 
</soap:Envelope> 

這是我們從S3找回響應:

<?xml version="1.0" encoding="utf-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <soapenv:Body> 
     <soapenv:Fault> 
     <faultcode>soapenv:Client.badRequest</faultcode> 
     <faultstring>Malformed request</faultstring> 
     <detail/> 
     </soapenv:Fault> 
    </soapenv:Body> 
</soapenv:Envelope> 

誰能告訴我用SOAP包的問題是什麼?

由於提前, 德萬·奈爾

回答

2

如果你想在SOAP消息本身發送的數據,你需要使用PutObjectInline,而不是PutObject(其預計該數據是一個DIME附件)。

參見s3文檔中的PutObjectInline