SAAJ:Java用の添付ファイルAPIと SOAPSAAJが提供するMTOMと添付ファイル機能の違いは何ですか?
MTOM: SOAPメッセージ送信最適化メカニズム
私の簡単な理解:は、SAAJのバージョンを最適化MTOMは、より多くのであると彼らは、SOAP添付ファイルを扱います。これは正しいです?
同じことを行う方法は2通りありますか?または、ここでリンゴとオレンジを比較しようとしていますか?
SAAJとMTOMを一緒に使用できますか?
SAAJ:Java用の添付ファイルAPIと SOAPSAAJが提供するMTOMと添付ファイル機能の違いは何ですか?
MTOM: SOAPメッセージ送信最適化メカニズム
私の簡単な理解:は、SAAJのバージョンを最適化MTOMは、より多くのであると彼らは、SOAP添付ファイルを扱います。これは正しいです?
同じことを行う方法は2通りありますか?または、ここでリンゴとオレンジを比較しようとしていますか?
SAAJとMTOMを一緒に使用できますか?
少し複雑です。 SAAJは、SOAPエンベロープの操作に使用される古いJava APIであるため、バイナリの添付ファイルを送信することができます(メッセージ本文のBASE64エンコードされた文字列ではありません)。 SAAJは低レベルのインターフェースの一種です。あなたのコードに「手で」のSOAPエンベロープを作成し、添付ファイルを追加する必要があります。
レガシーコードで作業する必要がなく、SOAPエンベロープで直接作業したい場合は、JAX-WS DispatcherおよびProviderインターフェイスを参照してください。
MTOMは別の獣です。これは完全なWebサービスAPIではなく、添付ファイルを送信する特殊な方法です。 JAX-WSやSAAJのような「真の」WebサービスAPI(SAAJがそのように動作するように管理している場合)によって使用できます。
MTOMは、BASE64(オーバーヘッドが大きい)と比較して、バイナリデータを送信するためのより効率的な方法であるXOPで(ほぼ)常に使用されます。添付ファイルはMIME添付ファイルとして別々に送信され、MIMEタイプは適切に処理されます(これはJava-Microsoftテクノロジのやりとりの問題でした)。
現在、SAAJについては忘れて、ほとんどのJAX-WS実装で提供されるJAX-WS + MTOMサポートを使用してください。
ニースの回答。それはdefinitellyより多くのupvotesの価値がある。 – Hubert