axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "St-Germain, Sylvain" <>
Subject soap:header new implementation
Date Thu, 02 May 2002 14:43:34 GMT
Read on - design issue at the end.

I have modified the original soap:header support implementation to allow
full flexibility around the header management.  The way I have achieve this
is by allowing the user to specify the header object lifecycle.  The current
three lifecycles are: 

HeaderLifeCycle.REPLACE: the response's header object will overwrite the
request's one
HeaderLifeCycle.DISCARD: the request's header object is removed from the
list after the call.
HeaderLifeCycle.PERSIST: the request's header stays as is.

A user then do:
	binding.setHeader("CAM", cam, HeaderLifeCycle.REPLACE );
	binding.setHeader("hdrSession", hdrs, HeaderLifeCycle.DISCARD );

To allow the setHeader() and getHeader() method to work off the binding
(PortType) class I had to add a new extension to the PortType interface
(currently org.apache.axis.client.HeaderSupport) this is all fine for client
side since the HeaderSupport interface is implemented by the abstract Stub,
but doing so, I broke the Impl class since it also implements the PortType.

This being said we will ultimately want access to those two methods on the
server-side but in the mean time (since I am not implementing server support
now) I need a spot to put those two methods.  Any idea?

Would bringing back the skeleton be the answer to my problem?

I am attaching the patch and the new files so you can experiment the problem
with the Impl class.

Note: I did not yet rename the Header and Headers classes as was suggested
when I submitted the first implementation of the feature.

All feedback much appreciated.


This message may contain privileged and/or confidential information.  If you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you.

View raw message