1

SOAP 添付ファイル (SwA または MTOM) を使用してバイナリ コンテンツをサポートするために、アプリケーション内の既存の SOAP スタック (クライアント側とサーバー側の両方) をアップグレードしています。既存のコード ベースは SAAJ を広範囲に活用し、Axis2 (そのまま 1.5.6) 実装を使用します。(アプリケーションの他の部分は既に Axis2 を使用しているため、それに固執するのが合理的と思われます)。

SAAJ API (ノード、要素、SOAPAttachments インスタンスの追加など) を使用して SOAPMessage を構築すると、すべてが正常に機能します。シリアライズされた SOAPMessage は、確かに適切な xop/mtom メッセージです。

私の問題は、Axis2 の MessageFactory を介してそのようなメッセージを InputStream として解析するときに発生します (いいえ、AxisServlet/Endpoint を使用しません。生のストリームを直接解析することがあります)。動作します (機能的に同等の SOAPMessage インスタンスが返されます) が、添付ファイルがメイン メモリに読み込まれないように、(axiom の基になる) 添付ファイル キャッシュ機能を Axis2 に使用してもらいたいのですが、これを実現することはできません。

axis-saaj.jar での Axis2 の実装についての私の理解から、SOAPMessageImpl はキャッシュ機能を有効にせずに Axiom Attachments インスタンスをインスタンス化するようにハードコーディングされているようであり、構成可能な方法 (軸 conf ファイル、システム プロパティ、独自の拡張機能) がないように見えます。メッセージファクトリなど...) を変更して、この動作を変更します。

何か不足していますか?添付キャッシュで axis-saaj を使用する方法 (または InputStream から SOAPMessage インスタンスに取得する他の方法) はありませんか? 私が見つけることができる axis2-saaj に関するドキュメントはほとんどなく、Axis User ML はこれについて沈黙を守っています。

ありがとう!

4

0 に答える 0