JAX-WS-Proposal

Overview

JSR Specification

JSR 224: The Java API for XML Web Services (JAX-WS) 2.0

Related JSRs

JSR 181: Web Services Metadata for the Java Platform

JSR 222: The Java Architecture for XML Binding (JAX-B) 2.0

JIRA Issue

http://issues.apache.org/jira/browse/AXIS2-826

Corporation

IBM

Requester

Nicholas L Gallardo (nlgallar@us.ibm.com)

Axis Committer

Rich Scheuerle (scheu@apache.org) (Yahoo IM: richscheu)

Developers/Contributors

Jeff Barrett (barrettj@us.ibm.com) (Yahoo IM: barrettjl1027)

Nikhil Thaker

Mike Rheinheimer

Brent Ulbricht

Dan Sedov

Lizet Ernand

Samuel Isokpunwu

Architecture

The images below describe at a high level, the architecture for the JAX-WS implementation. The pieces are color coded to denote their scope.

A few other things to note:

Here is the client architecture:

client.JPG

Here is the server architecture:

server.JPG

Class Roadmap

The following table describes the important classes in the architecture:

Class

Client/Server/Test

Description

org.apache.axis2.jaxws.Dispatch

Client

Implementation of Dispatch<T>. This is the only client api currently supported.

org.apache.axis2.jaxws.spi.ServiceDelegate

Client

JAX-WS ServiceDelegate implementation to handle client request. This is the entry point from the client.

org.apache.axis2.jaxws.client.BindingProvider

Client

JAX-WS BindingProvider implementation to hold client request context.

org.apache.axis2.jaxws.client.AxisController

Client

Client side abstraction layer that accesses the AxisEngine.

org.apache.axis2.jaxws.impl.AsyncResponseProcessor

Client

Async Response processor for Async invocation.

org.apache.axis2.jaxws.server.JAXWSMessageReceiver

Server

JAX-WS implementation of org.apache.axis.MessageReceiver

org.apache.axis2.jaxws.framework.JAXWSTest

Test

Root class for the JAX-WS tests. This class will be remove in subsequent drops.

Coding Conventions

The contributed code follows the same conventions used in the Axis2 code base.

Testing

There are 20 JAX-WS tests provided in the initial JAX-WS code drop.

We are working on additional tests. Subsequent tests will be documented with javadoc. The following table is provided for evaluation purposes only.

Test Name

Status

Test Description

StringDispatch.testSync()

Pass

JAX-WS Dispatch<String> Payload Mode Test

StringDispatch.testSyncWithMessageMode()

Pass

JAX-WS Dispatch<String> Message Mode Test

StringDispatch.testAsyncCallback()

Pass

JAX-WS Asynchronous Callback Dispatch<String> Payload Test

StringDispatch.testAsyncCallbackWithMessageMode()

Pass

JAX-WS Asynchronous Callback Dispatch<String> Message Mode Test

StringDispatch.testOneWay()

Pass

JAX-WS Dispatch<Source> Payload One-Way Test

SourceDispatch.testSync()

Pass

JAX-WS Dispatch<Source> Payload Mode Test...using StreamSource argument

SourceDispatch.testSyncWithMessageMode()

Pass

JAX-WS Dispatch<Source> Message Mode Test...using StreamSource argument

SourceDispatch.testAsyncCallback()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Payload Test...using StreamSource argument

SourceDispatch.testAsyncCallbackWithMessageMode()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Message Test...using StreamSource

SourceDispatch.testOneWay()

Pass

JAX-WS Dispatch<Source> Payload One-Way Test...using StreamSource argument

DOMSourceDispatch.testSync()

Pass

JAX-WS Dispatch<Source> Payload Mode Test...using DOMSource argument

DOMSourceDispatch.testSyncWithMessageMode()

Pass

JAX-WS Dispatch<Source> Message Mode Test...using DOMSource argument

DOMSourceDispatch.testAsyncCallback()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Payload Test...using DOMSource argument

DOMSourceDispatch.testAsyncCallbackWithMessageMode()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Message Test...using DOMSource

DOMSourceDispatch.testOneWay()

Pass

JAX-WS Dispatch<Source> Payload One-Way Test...using DOMSource argument

SAXSourceDispatch.testSync()

Pass

JAX-WS Dispatch<Source> Payload Mode Test...using SAXSource argument

SAXSourceDispatch.testSyncWithMessageMode()

Pass

JAX-WS Dispatch<Source> Message Mode Test...using SAXSource argument

SAXSourceDispatch.testAsyncCallback()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Payload Test...using SAXSource argument

SAXSourceDispatch.testAsyncCallbackWithMessageMode()

Pass

JAX-WS Asynchronous Callback Dispatch<Source> Message Test...using SAXSource

SAXSourceDispatch.testOneWay()

Pass

JAX-WS Dispatch<Source> Payload One-Way Test...using SAXSource argument

FrontPage/Axis2/JAX-WS-Proposal (last edited 2009-09-20 22:48:02 by localhost)