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 Be...@VerizonWireless.com on 2005/08/03 16:37:02 UTC
WSDoAllSender/Receiver Handler types
Hi,
I've been grokking the WSS4J code for several months now. I've managed to
get the UsernameToken and X509Token profiles working beautifully, and I'm
proceeding to the SAML Token profile now. I've implemented my own Merlins,
am programmatically configuring services to use the callbacks, the whole
schmear. What I'm wondering is the following:
I have many different services each of which can potentially require any of
the three WSS Profiles. I want to be able to specify per-service which
handler to use, only I haven't been able to do this. The primary reason is
that the WSDoAllSender class does not extend
"javax.xml.rpc.handler.Handler", it instead extends
"org.apache.axis.handlers.BasicHandler". Because of this, I cannot add
separately configued WSDoAllSender instances to a HandlerChainImpl in order
to register this particular Handler Chain with a particular Service via
Service.getHandlerRegistry().setHandlerChain(myHandlerChainImpl), as
HandlerChains require the former type of Handler, not the latter. The only
thing I can do is to change the Handler for the entire Axis Client Engine,
which means that if I have a multi-threaded application, and some of those
threads are performing Service calls requiring the Username Token profile,
and some of those threads are attempting to lookup up a service in a UDDI
Registry and some of those threads are attempting to make Service calls on a
Service requiring the X509 Token profile, I have to juggle my Engine's
configuration around or serialize all of my service calls, neither of which
are very good solutions.
If you know of a workaround for this situation or have any advice you can
forward I would greatly appreciate a brief discussion. This is a critical
issue for us and while I can see a way around it using the existing
codebase, it's not an ideal solution by any stretch.
I thank you most kindly for your time!
Best regards,
Ben
___________________________________________________________________
The information contained in this message and any attachment may be
proprietary, confidential, and privileged or subject to the work
product doctrine and thus protected from disclosure. If the reader
of this message is not the intended recipient, or an employee or
agent responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.
If you have received this communication in error, please notify me
immediately by replying to this message and deleting it and all
copies and backups thereof. Thank you.
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
Re: WSDoAllSender/Receiver Handler types
Posted by Davanum Srinivas <da...@gmail.com>.
Can you review http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/handlers/HandlerChainImpl.java?
You could maintain your own list of WSDoAllSender handlers and call
invoke on the org.apache.axis.handlers.BasicHandler instead of
handleRequest calls as is done in HandlerChainImpl.java
-- dims
On 8/3/05, Benjamin.Temko@verizonwireless.com
<Be...@verizonwireless.com> wrote:
> Hi,
>
> I've been grokking the WSS4J code for several months now. I've managed to
> get the UsernameToken and X509Token profiles working beautifully, and I'm
> proceeding to the SAML Token profile now. I've implemented my own Merlins,
> am programmatically configuring services to use the callbacks, the whole
> schmear. What I'm wondering is the following:
>
> I have many different services each of which can potentially require any of
> the three WSS Profiles. I want to be able to specify per-service which
> handler to use, only I haven't been able to do this. The primary reason is
> that the WSDoAllSender class does not extend
> "javax.xml.rpc.handler.Handler", it instead extends
> "org.apache.axis.handlers.BasicHandler". Because of this, I cannot add
> separately configued WSDoAllSender instances to a HandlerChainImpl in order
> to register this particular Handler Chain with a particular Service via
> Service.getHandlerRegistry().setHandlerChain(myHandlerChainImpl), as
> HandlerChains require the former type of Handler, not the latter. The only
> thing I can do is to change the Handler for the entire Axis Client Engine,
> which means that if I have a multi-threaded application, and some of those
> threads are performing Service calls requiring the Username Token profile,
> and some of those threads are attempting to lookup up a service in a UDDI
> Registry and some of those threads are attempting to make Service calls on a
> Service requiring the X509 Token profile, I have to juggle my Engine's
> configuration around or serialize all of my service calls, neither of which
> are very good solutions.
>
> If you know of a workaround for this situation or have any advice you can
> forward I would greatly appreciate a brief discussion. This is a critical
> issue for us and while I can see a way around it using the existing
> codebase, it's not an ideal solution by any stretch.
>
> I thank you most kindly for your time!
>
> Best regards,
>
> Ben
> ___________________________________________________________________
> The information contained in this message and any attachment may be
> proprietary, confidential, and privileged or subject to the work
> product doctrine and thus protected from disclosure. If the reader
> of this message is not the intended recipient, or an employee or
> agent responsible for delivering this message to the intended
> recipient, you are hereby notified that any dissemination,
> distribution or copying of this communication is strictly prohibited.
> If you have received this communication in error, please notify me
> immediately by replying to this message and deleting it and all
> copies and backups thereof. Thank you.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: wss4j-dev-help@ws.apache.org
>
>
--
Davanum Srinivas -http://blogs.cocoondev.org/dims/
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
Re: WSDoAllSender/Receiver Handler types
Posted by Davanum Srinivas <da...@gmail.com>.
Can you review http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/handlers/HandlerChainImpl.java?
You could maintain your own list of WSDoAllSender handlers and call
invoke on the org.apache.axis.handlers.BasicHandler instead of
handleRequest calls as is done in HandlerChainImpl.java
-- dims
On 8/3/05, Benjamin.Temko@verizonwireless.com
<Be...@verizonwireless.com> wrote:
> Hi,
>
> I've been grokking the WSS4J code for several months now. I've managed to
> get the UsernameToken and X509Token profiles working beautifully, and I'm
> proceeding to the SAML Token profile now. I've implemented my own Merlins,
> am programmatically configuring services to use the callbacks, the whole
> schmear. What I'm wondering is the following:
>
> I have many different services each of which can potentially require any of
> the three WSS Profiles. I want to be able to specify per-service which
> handler to use, only I haven't been able to do this. The primary reason is
> that the WSDoAllSender class does not extend
> "javax.xml.rpc.handler.Handler", it instead extends
> "org.apache.axis.handlers.BasicHandler". Because of this, I cannot add
> separately configued WSDoAllSender instances to a HandlerChainImpl in order
> to register this particular Handler Chain with a particular Service via
> Service.getHandlerRegistry().setHandlerChain(myHandlerChainImpl), as
> HandlerChains require the former type of Handler, not the latter. The only
> thing I can do is to change the Handler for the entire Axis Client Engine,
> which means that if I have a multi-threaded application, and some of those
> threads are performing Service calls requiring the Username Token profile,
> and some of those threads are attempting to lookup up a service in a UDDI
> Registry and some of those threads are attempting to make Service calls on a
> Service requiring the X509 Token profile, I have to juggle my Engine's
> configuration around or serialize all of my service calls, neither of which
> are very good solutions.
>
> If you know of a workaround for this situation or have any advice you can
> forward I would greatly appreciate a brief discussion. This is a critical
> issue for us and while I can see a way around it using the existing
> codebase, it's not an ideal solution by any stretch.
>
> I thank you most kindly for your time!
>
> Best regards,
>
> Ben
> ___________________________________________________________________
> The information contained in this message and any attachment may be
> proprietary, confidential, and privileged or subject to the work
> product doctrine and thus protected from disclosure. If the reader
> of this message is not the intended recipient, or an employee or
> agent responsible for delivering this message to the intended
> recipient, you are hereby notified that any dissemination,
> distribution or copying of this communication is strictly prohibited.
> If you have received this communication in error, please notify me
> immediately by replying to this message and deleting it and all
> copies and backups thereof. Thank you.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: wss4j-dev-help@ws.apache.org
>
>
--
Davanum Srinivas -http://blogs.cocoondev.org/dims/
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org