0

私のチームは、Amazon の AWS を使用する C# コードでテストを実行するために使用したい Walrus を備えた Eucalyptus サーバーをセットアップしています。セットアップはほぼ完了し、現在、Eucalyptus を指すコードを取得していますが、いくつかの問題に直面しています。

PutBucket を呼び出して、使用するバケットを作成することから始めました。バケットは以前は存在しなかったため、問題はないはずです。ただし、次のスタック トレースで null 参照例外が発生しています。

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 は 1 つのことを期待しており、Walrus は別のことを行っています。Eucalyptus や Walrus を正しく構成しなかった可能性があります。まったくわかりません。

そのため、ここに質問を投稿しています。誰かが以前にこれを経験したことがあるかどうか、またはおそらく何らかの洞察を提供できるかどうかに興味がありました. サーバーがリクエストを正しく処理しても、無効なレスポンスを返す原因は何ですか? Eucalyptus はバケットを作成するのに、AWS は操作が失敗したと考えるのはなぜですか?

4

1 に答える 1