2011-02-01 2 views
1


JDOMを使用してXMLファイルを解析中にこのエラーが発生します。
何が起こっているのですか。私は、その中の添付ファイルとしてpdfと結合されたxmlのデータストリームを受け取ります。だから私はそれのドキュメントを作成しようとすると、このエラーがスローされます。
私は、次を取得し、このストリームを印刷しようとしたとコンソール上で、それがジャンク文字(PDFコンテンツ)の多くのですが、ワードパッドで、それがどのように見える - こと<SOAP-ENV:Envelope>の間でXMLを注意してくださいJDOMによるXML解析中のエラー - プロローグで許可されていないコンテンツ

------=_Part_2_23286828.1296553488632 
Content-Type: text/xml; charset=utf-8 

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
.... 
.... 
.... 
    <Attachment> 
     <URI>Filename.pdf</URI> 
    </Attachment> 
</SOAP-ENV:Envelope> 
------=_Part_2_23286828.1296553488632 
Content-Type: application/pdf; name="Filename.pdf" 
Content-Transfer-Encoding: binary 
Content-ID: </Attachment[1]/URI[1]> 
Content-Disposition: attachment; filename="Filename.pdf" 

%PDF-1.4 
%âãÏÓ 
4 0 obj <</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 579/Length 52722/Height 480/Filter/DCTDecode>>stream 
ÿØÿà 

</SOAP-ENV:Envelope>が良好に形成される。
どうすればJDOMドキュメントを作成して作成できますか?私は、xmlの開始タグと終了タグの前後の内容を削除することで推測していますが、クリーンな方法ではどうでしょうか?
私はApacheのIOコモンズからBOMInputStreamは役に立ちあることを読んで、私はそれがバージョン2 *であると考えていると私はバージョン1.3.1

を使用しています私は、plsは私に知らせていない場合、これは私の問題を説明したいと考えています。
ありがとうございます。

UPDATE
最初は気にしませんでした。
実際、私はあるサーブレットから別のサーブレット(doPost)にHttpURLConnectionを使用して呼び出しを行っています。戻り値はこのストリームの形式です。
また、Http/URLConnectionで提供されるメソッドのいくつかを使用してxmlパーツを抽出できるかどうかを調べることも試みています。
誰かがこれについてもっと光を当てることができればと感謝します。

答えて

1

このメッセージは、添付ファイル付仕様(http://www.w3.org/TR/SOAP-attachments)に準拠しています。 Javaでは、これらのメッセージを解析する方法は、SAAJ(Soap with Attachments API for Java:http://download.oracle.com/javaee/5/tutorial/doc/bnbhf.html)の実装を使用することです。そこにはいくつかのSAAJの実装があります。私の個人的な好みは、Spring-WSの実装です。別のオプションはApache Axiomです。

入力ストリームから手動で行うのではなく、このメッセージを処理するためにSpring-WSまたはApache Axisを使用することをお勧めします。これはサーバー側でもクライアント側でもしようとしていますか?

関連する問題