- - PR -
multipartの値が取得できない!?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-20 14:39
uk様
あしゅ様 返答ありがとうございます。 uk様 現在、社内のフレームワークを使っており form-dataを読み取って処理されています。 従ってContent-Typeの指定がない場合、multipartの処理が行われません。 他の機能も同じフレームワークを使っている為 フレームワークの改修は難しいと思います。 あしゅ様 ストリームでOutOfMemoryが発生した時に JNLPファイルに最大ヒープサイズを指定する方法も試したのですが クライアントマシンに掛かる負荷があまりにも高く 現実的ではないと思い、諦めました。 | ||||
|
投稿日時: 2007-02-20 15:10
>ファイルを含んでいる為、バイナリ形式で表示されてしまいます。
>リクエストを表示する良い手段はないでしょうか。 シンプルなリクエストを投げて Ethereal とか Packetyzer とかでダンプしてみてはいかがでしょう。 | ||||
|
投稿日時: 2007-02-20 15:53
いや・・・そういう方向じゃなくて・・・。 それだと1GBの場合は1GB以上のヒープが必要になりますよ? メモリ上に送信データを全て持たせる事が原因なわけで、 例えばファイルを送信するのであれば、PostMethodに FileInputStreamを指定すればメモリは数KB程度で済みます。 他にも、DOMをシリアライズしたXMLを送信したいのであれば、 テンポラリファイルに出力してからファイルと同様の方法で 送信すればよいわけです。 | ||||
|
投稿日時: 2007-02-20 16:33
や、Content-Typeは自動的に設定されると思うのですが、そうなりませんか? | ||||
|
投稿日時: 2007-02-20 17:20
インギ様
あしゅ様 uk様 返答ありがとうございます。 インギ様 ただいま教えて頂いたEtherealを使用中です。 初めて使うので少々戸惑っています。 あしゅ様 javax.mail.MessagingException: Missing start boundary 上記のエラーが出ている為、PostMethodにFileInputStreamを指定しても PostMethod自体がフレームワークで処理されません。 uk様 MainServletでform-data以外は除かれていました。 Content-Typeを指定しなかった場合、以下のようになりました。 application/x-www-form-urlencoded | ||||
|
投稿日時: 2007-02-20 17:47
>ただいま教えて頂いたEtherealを使用中です。
>初めて使うので少々戸惑っています。 お、がんばってください! Windowsであれば Packetyzer がオススメです。 パケットの中からHTTPの電文だけ抜きとってデコードしてくれたりします。 http://www.networkchemistry.com/products/packetyzer.php | ||||
|
投稿日時: 2007-02-20 19:34
インギ様
ありがとうございます。 Packetyzerとても使いやすかったです。 Packetyzerの結果をブラウザのリクエストと見比べてみたのですが ヘッダ情報には特に気になるところはありませんでした。 パラメータ部ですが 最初のパラメータが以下のようになっていました。 ......-----------------------------7d7eae60f1e 文字化けを起こしているようなのですが 何が入っているのかはわかりません。 javax.mail.MessagingException: Missing start boundary 上記のエラーと何か関係があるのでしょうか。 |