Нужна помощь в диагностике проблем с SOAP-пакетами в Amazon S3 - PullRequest
1 голос
/ 14 ноября 2008

Мы создаем приложение, которое хранит данные в корзине S3. Однако у нас есть проблемы с методом PutObject . Вот пакет xml, который мы отправляем:

<?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?

Спасибо заранее, Деван

1 Ответ

2 голосов
/ 27 ноября 2008

Если вы хотите отправить данные в самом сообщении SOAP, вам нужно использовать PutObjectInline, а не PutObject (который ожидает, что данные являются вложением DIME).

см. PutObjectInline в документах s3.

...