Моя команда настраивает сервер Eucalyptus w/Walrus, который мы хотим использовать для запуска тестов на нашем C# -кодексе, который использует материал AWS от Amazon. Он почти настроен, и теперь мы получаем код, указывающий на Eucalyptus, но мы сталкиваемся с некоторыми трудностями.Вызов PutBucket на имя ведра, которое еще не существует, вызывает исключение
Мы начали с вызова PutBucket, чтобы создать ведро, которое мы будем использовать. Ведро раньше не существовало, поэтому проблем не должно быть. Тем не менее, мы получаем исключение с нулевой ссылкой со следующим стеклом:
at System.Xml.XmlReader.CalcBufferSize(Stream input)
at System.Xml.XmlTextReaderImpl.InitStreamInput(Uri baseUri, String baseUriStr, Stream stream, Byte[] bytes, Int32 byteCount, Encoding encoding)
at System.Xml.XmlTextReaderImpl..ctor(String url, Stream input, XmlNameTable nt)
at System.Xml.XmlTextReader..ctor(Stream input)
at Amazon.S3.AmazonS3Client.transform(String responseBody, String actionName, Type t)
at Amazon.S3.AmazonS3Client.processRequestResponse[T](HttpWebResponse httpResponse, S3Request request, Type t, T& response, Exception& cause)
at Amazon.S3.AmazonS3Client.handleHttpResponse[T](S3Request userRequest, HttpWebRequest request, HttpWebResponse httpResponse, Int32 retries, Int64 lengthOfRequest, T& response, Exception& cause, HttpStatusCode& statusCode)
at Amazon.S3.AmazonS3Client.getResponseCallback[T](IAsyncResult result)
at Amazon.S3.AmazonS3Client.endOperation[T](IAsyncResult result)
at Amazon.S3.AmazonS3Client.EndPutBucket(IAsyncResult asyncResult)
at Amazon.S3.AmazonS3Client.PutBucket(PutBucketRequest request)
[at application library]
Теперь вот где это странно. Когда мы проверили сервер, ведро было успешно создано! Сервер обработал запрос правильно и сделал ведро, которое мы хотели. Ответ возвращается неверно, но запрос обработан правильно. И до сих пор проблема возникает только при вызове PutBucket, потому что когда мы удаляем ведро, он успешно удаляется с сервера и никаких исключений не возникает.
До сих пор мы не понимаем, что происходит. Мы подозреваем, что есть проблема с концом Walrus. Возможно, AWS ожидает одно, а Моррус делает другое. Возможно, мы не настроили Эвкалипт и/или Морж правильно. Мы совсем не уверены.
Вот почему я размещаю вопрос здесь. Мне было любопытно, есть ли у кого-либо опыт с этим раньше, или, может быть, может дать некоторое представление. Что может заставить сервер правильно обработать запрос, но отправить обратно неверный ответ? Почему Eucalyptus сделает ведро, но AWS считает, что операция не удалась?