# Package jakarta.xml.messaging

Provides the API for using a messaging provider to send and receive SOAP messages. This package is specified in the JavaTM API for XML Messaging (JAXM) 1.1 specification.

A client using JavaTM API for XML Messaging technology ("JAXM client") makes its connections to a messaging provider, which means that all messages it sends or receives go through the provider. The messaging provider is responsible for the delivery of messages, performing many functions behind the scenes. With a messaging provider, it is possible to send a message to multiple destinations, and a messaging provider can be configured to do the following:

- maintain a list of endpoints to which messages will be sent
- send, and if necessary, resend a message until the message is delivered successfully or until the specified limit for retries is reached
- log messages in a specified directory

In addition, a messaging provider can make it possible for a protocol such as ebXML or SOAP RP to operate on top of SOAP, extending the Quality of Service available to JAXM messages.

The API in the `jakarta.xml.messaging` package makes it possible to do one-way messaging. One-way messaging allows the client to send a message and immediately go on to other work because the response, if there is one, will be sent as a separate operation at some time in the future.

The `jakarta.xml.messaging` package must always work in conjunction with the `jakarta.xml.soap` package, which provides the API for constructing SOAP messages and retreiving their content. (The `jakarta.xml.soap` package is defined in the SOAP with Attachments API for JavaTM (SAAJ) 1.1 specification.)

## Package Specification

The JAXM 1.1 specification includes an overview of the `jakarta.xml.messaging` package and explains how its classes and interfaces work.

- JAXM 1.1 Specification

- Interface Summary
  Interface | Description
  --- | ---
  OnewayListener | A marker interface for components (for example, servlets) that are intended to be consumers of one-way (asynchronous) JAXM messages.
  ProviderConnection | A client's active connection to its messaging provider.
  ProviderMetaData | Information about the messaging provider to which a client has a connection.
  ReqRespListener | A marker interface for components that are intended to be consumers of request-response messages.

- Class Summary
  Class | Description
  --- | ---
  Endpoint | An opaque representation of an application endpoint.
  JAXMServlet | The superclass for components that live in a servlet container that receives JAXM messages.
  ProviderConnectionFactory | A factory for creating connections to a particular messaging provider.
  URLEndpoint | A special case of the `Endpoint` class used for simple applications that want to communicate directly with another SOAP-based application in a point-to-point fashion instead of going through a messaging provider.

- Exception Summary
  Exception | Description
  --- | ---
  JAXMException | An exception that signals that a JAXM exception has occurred.