You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by "Springer, Ian P." <ia...@hp.com> on 2004/08/03 23:35:09 UTC

[ENHANCEMENT] [addressing] handler refactored to be JAX-RPC compliant with a SOAP platform-neutral abstraction layer

The attached classes are intended to replace the existing class
AddressingHandler. They are in the following class hierarchies, which
are designed to facilitate easy porting to any JAX-RPC container:

 AxisClientSideAddressingHandler extends ClientSideAddressingHandler
extends AbstractAddressingHandler 

 AxisServerSideAddressingHandler extends ServerSideAddressingHandler
extends AbstractAddressingHandler 

AbstractAddressingHandler is an abstract base class containing
functionality shared by server-side and client-side handlers.
ClientSideAddressingHandler and ServerSideAddressingHandler are
client-side and server-side JAX-RPC handlers, respectively, that should
work within any JAX-RPC container. They contain a few methods that can
be overridden by platform-specific subclasses to provide more robust
functionality. AxisClientSideAddressingHandler and
AxisServerSideAddressingHandler are subclasses of the platform-neutral
handlers that implement the Axis Handler interface and that leverage
some Axis-specific APIs in overridden methods.

All platform-neutral classes are below the org.apache.ws.addressing
package, and all Axis-specific classes are below
org.apache.axis.message.addressing.handler.

I've written unit tests that test the key methods - handleRequest() and
handleResponse() - in the platform-neutral handlers.

Additionally, I've written an interface and factory that allow one to
easily plug in different UUID-generation impls. The platform-neutral
handlers utilize the opensource JUG library as the UUID generator, but
use refelction to avoid a compile-time dependency on it. The
Axis-specific handlers utilize the UUID generator that comes with Axis.

There are still a number of data structure classes and interfaces in
Apache Addressing that use Axis-specific classes like MessageElement and
URI. These could be refactored fairly easily to be platform-neutral.
Once this is done, Apache Addressing will be a portable WS-Addressing
implementation that can be deployed and utilized on any JAX-RPC
container. I think this will broaden the project's user and developer
base.

Let me know what you think.

Thanks,
Ian Springer
Senior Software Developer
WSDM Implementation Team
Hewlett-Packard Company

Re: [ENHANCEMENT] [addressing] handler refactored to be JAX-RPC compliant with a SOAP platform-neutral abstraction layer

Posted by Davanum Srinivas <da...@gmail.com>.
Thanks Ian. Checked in the new files.

-- dims

On Tue, 3 Aug 2004 17:35:09 -0400, Springer, Ian P. <ia...@hp.com> wrote:
> The attached classes are intended to replace the existing class
> AddressingHandler. They are in the following class hierarchies, which
> are designed to facilitate easy porting to any JAX-RPC container:
> 
>  AxisClientSideAddressingHandler extends ClientSideAddressingHandler
> extends AbstractAddressingHandler
> 
>  AxisServerSideAddressingHandler extends ServerSideAddressingHandler
> extends AbstractAddressingHandler
> 
> AbstractAddressingHandler is an abstract base class containing
> functionality shared by server-side and client-side handlers.
> ClientSideAddressingHandler and ServerSideAddressingHandler are
> client-side and server-side JAX-RPC handlers, respectively, that should
> work within any JAX-RPC container. They contain a few methods that can
> be overridden by platform-specific subclasses to provide more robust
> functionality. AxisClientSideAddressingHandler and
> AxisServerSideAddressingHandler are subclasses of the platform-neutral
> handlers that implement the Axis Handler interface and that leverage
> some Axis-specific APIs in overridden methods.
> 
> All platform-neutral classes are below the org.apache.ws.addressing
> package, and all Axis-specific classes are below
> org.apache.axis.message.addressing.handler.
> 
> I've written unit tests that test the key methods - handleRequest() and
> handleResponse() - in the platform-neutral handlers.
> 
> Additionally, I've written an interface and factory that allow one to
> easily plug in different UUID-generation impls. The platform-neutral
> handlers utilize the opensource JUG library as the UUID generator, but
> use refelction to avoid a compile-time dependency on it. The
> Axis-specific handlers utilize the UUID generator that comes with Axis.
> 
> There are still a number of data structure classes and interfaces in
> Apache Addressing that use Axis-specific classes like MessageElement and
> URI. These could be refactored fairly easily to be platform-neutral.
> Once this is done, Apache Addressing will be a portable WS-Addressing
> implementation that can be deployed and utilized on any JAX-RPC
> container. I think this will broaden the project's user and developer
> base.
> 
> Let me know what you think.
> 
> Thanks,
> Ian Springer
> Senior Software Developer
> WSDM Implementation Team
> Hewlett-Packard Company
> 
> 
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/