J2EE documentation

What is what

The JAXM API conforms to the Simple Object Access Protocol (SOAP) 1.1 specification and the SOAP with Attachments specification. The complete JAXM API is presented in two packages:

JAX-RPC stands for Java API for XML-based RPC. It's an API for building Web services and clients that used remote procedure calls (RPC) and XML.

JMS

Sequence

Types of domains

Connection and session

A connection:

For this reason, it's a good idea to use as few connections as possible

A session:

JMS Threading Restrictions

The requirement that sessions be operated on by a single thread at a time places some restrictions on the combination of producers and consumers that can use the same session. In particular, if a session has an asynchronous consumer, it may not have any other synchronous consumers. The Java Messaging Specification mandates that a session not be operated on by more than one thread at a time. This leads to the following restrictions:

Acknowledgement Modes

Types of subscriptions

Auto-Reconnect

SOAP

SOAP is a protocol that allows the exchange of structured data between peers in a decentralized, distributed environment.

  • Use JAXMServlet to simplify SOAP service endpoint development
  • Use MessageTransformer.SOAPMessageIntoJMSMessage(SOAPMessage, Session) and MessageTransformer.SOAPMessageFromJMSMessage(Message, MessageFactory) to perform SOAP-to-JMS transformations.

See Creating a SOAP Web Service using Java6 for practical information.

SOAP Messaging Layers

SOAP Packaging Models

Sending SOAP Message

When the application should be written using the J2SE platform (it is not required to be deployed in J2EE container and no configuration is required), then it may not use messaging provider. Those clients that do not use a messaging provider can be further divided into those that run in a container and those that do not. A JAXM client that does not use a messaging provider and also does not run in a container is called a standalone client.

Advantages of using message provider

JMS and transaction

JMS and JCA

JAX-RPC

JAX-RPC supported types

JAX-RPC supports all primitives except char and java.lang.Char, all collections and user types if user type confirm the following restrictions:

The class may contain public, private, or protected fields. For its value to be passed (or returned) during a remote call, a field must meet these requirements:

JAX-RPC remote interface

A service definition interface (remote interface) declares the methods that a remote client may invoke on the service. The interface must conform to a few rules:

JAX-RPC client proxy types