私はresttemplateの初心者であり、Apachehttpクラスによってどのようにサポートされているかを説明します。そのため、最初は、Expect:100を使用してhttpヘッダーを手動で作成するだけで、その機能を使用してPUTメソッドの実装を開始できると思いました。私の場合、ダイアログを行っていたサーバーは正しく応答しましたが、100-Continueが無視されているため、アプリケーションは100-Continue応答を認識しませんでした。[org.apache.commons.httpclient.HttpMethodBase]-< '予期しない応答の破棄:HTTP /1.1100続行>。Wiresharkは、100Continueを取得したことを確認します。
読んだ後、Expect:100-Continueヘッダーを使用するためにPUTメソッドのデフォルトの動作をどこかに設定する必要があることを理解しました...そして、Springsourceで作成されたクラスのどこにもないと思い始めています。私が知る限り、関連するApache抽象クラスは次のとおりです。org.apache.commons.httpclient.methods.ExpectContinueMethod。これにはorg.apache.commons.httpclient.methods.PutMethodというサブクラスがあり、いずれにしてもExpect:100を使用-すべてのPUTリクエストで続行します。
したがって、これは2つの質問につながり、現在は1つです。
サーバーとの対話で100-CONTINUEを使用できるように、この機能を設定するにはどうすればよいですか?Springsourceのドキュメント内を検索していて、HttpClientParamsが設定されている場所と、CommonsClientHttpRequestFactoryの方法を確認していますが、resttemplateがPUTリクエストに作用するときに、ExpectContinueMethodの使用をどこでどのように設定するかがわかりません。Springsourceのクラスやパッケージの中からは不可能だと思い始めています...いわば、resttemplateが高すぎると感じています。
おそらく、多くのApacheパッケージをインポートして、それらをインスタンス化し、ExpectContinue機能の使用を指定する必要があります。また、resttemplateや他のSpringsourceクラスがそれらを使用するようにします(それが可能であるか、意味がある場合)。今日、それは私の頭上にありますが、私は何をする必要があるかについて漠然とした考えを持っています。trueの場合でも、これは、どのアプリケーションでも、すべてのPUT要求に100-Continueヘッダーを永久に使用することを選択する必要があることを意味しますか?一部のPUTリクエストで使用することはできませんが、他のリクエストでは、たとえば体のサイズに依存しませんか?これはひどいでしょう。
正しい方向へのポインタでもありがたいです。
-ポール