次のように、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 構造を使用するということは、リクエストを変更したことを意味します。とにかく、変更せずに(すべてのヘッダーを含む)リクエストを取得できますか?