- - 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 上記のエラーと何か関係があるのでしょうか。  | ||||
