Axis Internal Message Exchance Interfaces

Authors: James Snell (IBM)
Jamie Meritt (Sonic Software Corporation)

Contents

1 Introduction
1.1 Disclaimer
1.2 Purpose
1.3 Scope
1.4 Feature Overview
2 Phased Delivery
3 Functional Description
3.1 Message Exchange
3.2 Message Correlation
3.3 Message Exchange Events
3.4 Message Exchange Lifecycle
3.5 Interface Specifications
4 Development Model
4.1 Base Implementation
4.2 Creating MessageExchange implementations using MessageExchangeProvider
4.3 Creating Custom MessageExchange implementations
4.4 Using HandlerMessageExchange to wrap legacy Axis handlers
4.5 Creating custom ReceivedMessageDispatchPolicy implementations
4.6 Creating custom MessageExchangeCorrelator implementations
4.7 Creating custom MessageExchangeCorrelatorService implementations
4.8 Implementing custom MessageExchange events
5 Understanding how Axis uses the IME interfaces
5.1 Breakdown of the Axis IME architecture
5.2 Transports and Providers
5.3 AxisEngine, AxisClient and AxisServer
5.4 Deployment and configuration
7 Outstanding issues

1 Introduction

1.1 Disclaimer

This document is a work in progress.

1.2 Purpose

Apache Axis provides robust support for synchronous style communications with RPC and document-oriented web services. Support for asynchronous invocation, however, is a feature that is not available in the current release of Axis. Goals of this proposal are documented in the list below.

1.3 Scope

The definition and implementation of an asynchronous message exchange subsystem for Axis that must resolve the following issues:

1.4 Feature Overview

2 Phased Delivery

3 Functional Description

3.1 Message Exchange

3.2 Message Correlation

3.3 Message Exchange Events

3.4 Message Exchange Lifecycle

3.5 Interface Specifications

4 Development Model

4.1 Base Implementation

4.2 Creating MessageExchange implementations using MessageExchangeProvider

4.3 Creating Custom MessageExchange implementations

4.4 Using HandlerMessageExchange to wrap legacy Axis handlers

4.5 Creating custom ReceivedMessageDispatchPolicy implementations

4.6 Creating custom MessageExchangeCorrelator implementations

4.7 Creating custom MessageExchangeCorrelatorService implementations

4.8 Implementing custom MessageExchange events

5 Understanding how Axis uses the IME interfaces

5.1 Breakdown of the Axis IME architecture

5.2 Transports and Providers

5.3 AxisEngine, AxisClient and AxisServer

5.4 Deployment and configuration

7 Outstanding issues