2012-05-04 3 views
0

私は次のように春の終わりに処理されたWebサービスを持っている:Spring Webサービス - リクエストをどのように抽出するのですか?

@POST 
    @Path("/processRequest") 
    @Consumes("multipart/mixed") 
    @ResponseStatus(HttpStatus.OK) 
    public String processRequest(@Context ServletContext servletContext, MultipartInput input) { 

     return addAccout(servletContext, input); 
    } 

要求がmultipart/mixedの要求としてでてくると、このようなものになります。

--productBoundary 
Content-Type: text/xml 

<?xml version="1.0" encoding="UTF-8"?> 
<product> 
    <name>ProductA</name> 
</product> 

--productBoundary 
Content-Type: text/xml 

ZGF0YRBAAABn5///////////////5///Z+fn///n////////5////////2f//2f//+f//+f////n/ 
///////52f//////2f//////2f/////5////////+f/////Z+f///////////////9n//9nZ/9n////5+f///9 
<snip> 
//+f//////2f/////////5//n//////////9n 

--productBoundary-- 

リクエストは、マルチパート/ミックスとして入力されます。私は、processRequestのメソッドパラメータに示されたResteasyのオブジェクトを使用して、multipart/mixedメッセージの各部分を抽出することができます。しかし、私がしたいことは、ヘッダーやその他のもので変更されていないメッセージを取得することです。これは可能ですか?

要求を正確に格納できるようにする必要があります。MultipartInput構造体を使用すると、要求が変更されたことを意味します。とにかく、それを変更せずに(すべてのヘッダーを使って)リクエストが届くようになっていますか?

答えて

2

Docs here:

3.1.18 @RequestPart注釈コントローラメソッドの引数の

この新しい注釈は、「マルチパート/フォームデータ」要求一部のコンテンツへのアクセスを提供します。第16.10.5項「プログラムによるクライアントからのファイルアップロード要求の処理」および第16.10項「Springのマルチパート(ファイルアップロード)サポート」を参照してください。

+0

ありがとうございます - @RequestPartは依然としてリクエストを分割します。私は全体として要求に興味があるので、私はそれを格納することができます - 正確にそれはヘッダー(つまり、境界線、コンテンツタイプなど)と一緒に来たように – ziggy

+0

この質問はそれを要約します:http://stackoverflow.com/questions/ 3320674/spring-how-do-i-inject-an-request-scoped-beanへのhttpservletリクエストのリクエスト 生のヘッダーを取得できるHttpServletRequestを取得する方法。 – rooftop

関連する問題