• 締切済み

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

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...");

みんなの回答

noname#235174
noname#235174
回答No.2

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

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

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

関連するQ&A