SOAP with Attachments API for Java (SAAJ) インターフェースのバージョン 1.3 では、Web サービス環境における SOAP 1.2 メッセージのサポートを拡張しています。 SAAJ 1.2 とこのトピックで紹介する SAAJ 1.3 の間には、いくつかの相違点があります。
一般的な Web サービス環境においては、Java 標準に基づく基本的なコードを使用して一連の Java オブジェクトを変換します。 SAAJ インターフェースは API を提供して SOAP メッセージの読み取り、書き込み、および送受信を行い、SOAP メッセージへの添付ファイルとして送信されるバイナリー・コンテンツを推奨しています。
SAAJ 1.3 は SOAP 1.1 および SOAP 1.2 メッセージに合わせてあり、Java API for XML Web Services (JAX-WS) プログラミング・モデルおよび Java API for XML-Based RPC (JAX-RPC) プログラミング・モデルでサポートされています。これに対し、SAAJ 1.2 は SOAP 1.1 メッセージでしか操作できません。
String text = soapFault.getFaultString();メッセージが SOAP 1.1 に基づく場合、getFaultString () は faultString 値を戻します。 SOAP 1.2 を使用している場合は、getFaultString () は Reason 値を戻します。 また、SAAJ 1.3 インターフェースでは新しいメソッド getReasonText (Locale) を提供しており、これは特定の Reason 値をとります。メッセージが SOAP 1.1 に基づく場合、getReasonText (Locale) メソッドは文書化された例外を戻します。SAAJ 1.3 インターフェースは既存のコードをサポートし、SOAP 1.1 メッセージと SOAP 1.2 メッセージの両方を処理します。
SAAJ 1.2 と SAAJ 1.3 の間のその他の違いを以下のリストに示します。
単一の場所での SOAP ファクトリー・クラスの作成をサポートするために、SAAJMetaFactory SPI が導入されています。
SAAJResult オブジェクトは SAAJ ツリーで、Java API for XML Processing (JAX-P) 変換または Java Architecture for XML Binding (JAXB) のマーシャルの結果に対する所有者として機能します。変換結果が有効な SAAJ ツリーであることが予想された場合には、SAAJResult クラスが導入されて使用可能度が高められます。
QName は XML 修飾名を表すことが優先されます。このため、多重定義されているメソッドはすべての SAAJ API に導入され、そこで該当するメソッドが引数として javax.xml.soap.Name 名を受け入れます。
新しい SOAP 機能を操作する場合は、ユーザー支援のためにこれらの新しいメソッドを使用します。
SOAPPart オブジェクトは現在、SOAP ノード・メソッドとも考えられます。
SAAJ 1.3 を含む API の完全なリストについては、仕様と API 資料を確認してください。