- PR -

HTTPClientを使用したPDF出力

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/12/05
投稿数: 2
投稿日時: 2008-12-05 15:49
org.apache.commons.httpclient.HttpClientを使用しPDF出力を行う処理にてFileNotFoundException(ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。)が発生してしまいます。

PDF出力の流れは以下のようにしております。

1.Aサーバー
・BサーバーのURLをPostMethodに設定しhttpclient.executeMethodを実行

2.Bサーバー
・リクエストを受け取りPDFファイル「c:/temp/aaa.pdf」を出力

3.Aサーバー
・Bサーバーから受け取ったレスポンスからファイルパスを取得し、FileInputStreamを生成

3のAサーバー側のFileInputStream生成時に以下のエラーが発生

java.io.FileNotFoundException:
c:\temp\aaa.pdf
(ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)


上記問題の原因がわかっていないので、どのように対応すればよいかわかっておりません。

APサーバー:Tomcat6.0
JRE:jre1.5.0_11

現在はローカル環境でテストしているためAサーバーもBサーバーもlocalhostとなっております。
また、以下を試みました
・URLClientを使用せずAサーバーのみで1〜3の処理を行うと問題なくFileInputStream生成ができる
・Bサーバーで現在作られたPDFではなく、前回作られたPDFなどを指定すると問題ない
・AサーバーでいったんURLClientのresponseからファイルパスを受け取りsessionに格納後、returnし、別のサーブレットを呼びsessionからファイルパスを取得したが同じエラーが発生。
・レスポンスからファイルパス取得後ブレークポイントで停止中に直接ファイルパスを指定するとPDFは生成されているため閲覧できる。

URLClientを使用しない場合はエラーが発生しないので、URLClientが原因なのかと思っていますが、そこから先に進めていません
未記入
会議室デビュー日: 2008/12/05
投稿数: 2
投稿日時: 2008-12-06 14:02
Bサーバーからのレスポンスを取得した際にファイルパスを取得していたのですが、そこに改行コードが含まれていたのが原因でした。
1

スキルアップ/キャリアアップ(JOB@IT)