こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

リクエストのボディ部のデータを取得する方法

iアプリからstrutsのactionで処理を行おうとしています。
そのときにiアプリからリクエストのボディ部にxml形式のデータを送ってくるのですが受け取れず困っております。
以下のようなプログラムを作成してみたのですがでは取得できないのでしょうか?どなたかご存知の方、教えていただけませんでしょうか?

System.out.println("module started...");
ServletInputStream in = request.getInputStream();
byte[] buf = new byte[8192];
int rsize = 0;
while((rsize = in.readLine(buf, 0, 8192)) != -1) {
System.out.println(rsize);
System.out.println(buf);
}
System.out.println("module finished...");

投稿日時 - 2007-12-12 19:39:42

QNo.3592986

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

単純にiアプリからContent-Lengthヘッダを送信していないとか?

投稿日時 - 2007-12-13 10:52:56

ANo.1

現状では、どんなものを受け取ってしまっているんでしょうか?
> System.out.println(buf);
これはたとえば、UTF-8文字が途中で切れることもありえるので、入力を最後までぜーんぶStringBufferなどに取り込んでから読んでみるべきでしょう。まったく改行のない、長大なxmlもときどきありますね。

投稿日時 - 2007-12-12 20:42:41

あなたにオススメの質問