beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chad Schoettger (JIRA)" <>
Subject [jira] Resolved: (BEEHIVE-867) Enhance JAX-RPC Handler support in the service control
Date Tue, 23 May 2006 22:10:30 GMT
     [ ]
Chad Schoettger resolved BEEHIVE-867:

    Resolution: Fixed
     Assign To: Jacob Danner  (was: Chad Schoettger)

This enhancement request was resolved several months ago, I'm just a bit slow in getting this
bug updated.  

The resolution differed a bit from the original proposal in that support for JAX-RPC handlers
has been added by the addition of a public api to the ServiceControl interface, 

     * Set any JAX-RPC handlers for this client.
     * @param handlers List of HandlerInfo.
    public void setHandlers(List<HandlerInfo> handlers);

This method can be used to set/remove handlers from the service control, each invocation of
this method sets the current set of handlers to the contents of the handlers parameter.

> Enhance JAX-RPC Handler support in the service control
> ------------------------------------------------------
>          Key: BEEHIVE-867
>          URL:
>      Project: Beehive
>         Type: Improvement

>   Components: System Controls
>     Reporter: Chad Schoettger
>     Assignee: Jacob Danner

> This proposal has been discussed on the beehive dev list, for reference: 
> Date: Jul 27, 2005 
> Title: Design proposal for enhanced JAX-RPC handler functionality for the service control
> One of the primary goals of this change would be to allow service control users to define
their own JAX-RPC handler chains for a service control. Currently the service control only
supports the HeaderHandler (see source tree) which can add SOAP headers to outgoing messages
and SOAP retrieve headers from incoming messages. There are two service control API's which
support this: Element[] getInputHeaders() and void setOutputHeaders(Element[])
> I propose that these two API's be removed as well as the HeaderHandler class.
> The API's would be replaced with a new annotation in the ServiceControl interface:
>     public @interface HandlerConfigParams {
>         String name();
>         String value();
>     }
>     public @interface MessageHandler {
>         Class handlerClass();
>         HandlerConfigParams[] configParams() default {};
>         String[] headers() default {};
>     }
>     @Retention(RetentionPolicy.RUNTIME)
>     @Target({ElementType.TYPE})
>     public @interface MessageHandlers {
>         MessageHandler[] value();
>     }
> If this optional annotation is set service control would add the handlers to the HandlerRegistry
at runtime.  I'm thinking this would be a class-level annotation for the service control -
would it also be useful to be able to define this on a per method basis?

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message