Java API for XML Messaging (JAXM) を使用すると、分散ソフトウェアアプリケーションはXML (およびSOAP )を使用して通信できます。JAXM は非同期メッセージングと同期メッセージングの両方をサポートしています。
JAXMはJava XMLプログラミングAPIの一つです。
Java API for XML Messaging (JAXM) を使用すると、開発者は Java プラットフォームを使用して XML メッセージングを使用できます。開発者は JAXM API を使用して、インターネット経由で XML メッセージを作成して送信できます。[ 1 ]

また、Java API for XML Messagingは、リモートプロシージャコールに比べて以下のような利点がいくつかあります。
完全なJAXM APIには2つのパッケージが含まれています。[ 2 ]
JAXM のメッセージは、規定の SOAP フォーマットと標準に準拠した XML メッセージです。SOAP メッセージには、添付ファイルを持つものと持たないものの 2 種類があります。たとえば、メッセージに画像を含める場合は、メッセージに添付ファイルを送信する必要があります。SAAJ API は、SOAP メッセージの添付ファイル用に AttachmentPart クラスを提供します。[ 3 ]
すべてのSOAPメッセージを送受信するには接続が必要です。接続先はメッセージングプロバイダまたは特定の宛先のいずれかになります。[ 4 ] JAXM APIは、2種類の接続を表すクラスとインターフェースを提供します。
SOAPConnection は、リモートパーティにメッセージを直接送信するためのポイントツーポイント接続です。[ 5 ]ポイントツーポイント接続を表す SOAPConnection オブジェクトは、簡単に作成および使用できます。SOAPConnection オブジェクトは、サーブレットコンテナ (Tomcat など) や J2EE サーバーで実行する必要がないため、使用するための設定は不要です。これは、クライアントがサービスプロバイダなしで接続を確立できる唯一の方法です。[ 6 ]
ProviderConnection オブジェクトは、メッセージング プロバイダへの接続を表します。(次のセクションでは、メッセージング プロバイダについて詳しく説明します。)ProviderConnection オブジェクトを介してメッセージを送信すると、メッセージはメッセージング プロバイダに送信されます。メッセージング プロバイダは、メッセージのルーティング指示に従ってメッセージを転送し、メッセージが最終受信者のメッセージング プロバイダに到達するまで転送します。最終受信者のメッセージング プロバイダは、メッセージを最終受信者に転送します。[ 7 ]
メッセージングプロバイダはメッセージを追跡し、正しい宛先にルーティングします。これはメッセージの送信とルーティングを処理するサービスです。[ 8 ]
JAXMクライアントは、メッセージングプロバイダを使用する場合と使用しない場合があります。一般的に、Webサービスを利用するだけであれば、メッセージングプロバイダは必要ありません。メッセージングプロバイダを使用しない場合の制限事項は以下のとおりです。
クライアントはリクエスト/レスポンスメッセージのみを送信できます。クライアントはクライアントロールのみで動作できます。
メッセージングプロバイダーを使用しないことの利点は以下のとおりです。