You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Alexis Midon (JIRA)" <ji...@apache.org> on 2008/06/04 18:33:45 UTC

[jira] Commented: (ODE-275) Provide a configurable handler to support WS-RM

    [ https://issues.apache.org/jira/browse/ODE-275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602339#action_12602339 ] 

Alexis Midon commented on ODE-275:
----------------------------------

Here is proposal for an implementation (and the consequent patch).

A new interface org.apache.ode.axis2.ServiceClientHandler exposes a method:
handle(QName serviceName, String portName, ServiceClient client) throws AxisFault.

An implementation of this interface may be specified with the property "axis2.service.client.handler" in the integration-layer.properties (see ODE-295).

Each SoapExternalService has one handler instance per thread (same pattern as for ServiceClient and Options).
This instance is invoked each time the ServiceClient is created. This might happen on the first call, or if the handler implementation or the Axis2 Options  have changed (The value of this property is checked every 30 seconds).

The handler is invoked after the loading of the xml file [serviceLocalName].axis2

Here the order of precedence of the 3 ServiceClient configuration steps available: (least important first)
#1. loading of [serviceLocalName].axis2
#2. Options set in integration-layer.properties
#2. ServiceHandler


Feedback welcome.

> Provide a configurable handler to support WS-RM
> -----------------------------------------------
>
>                 Key: ODE-275
>                 URL: https://issues.apache.org/jira/browse/ODE-275
>             Project: ODE
>          Issue Type: New Feature
>          Components: Axis2 Integration
>            Reporter: Sukma Verdianto
>             Fix For: 1.3
>
>
> Custom code is required to enable Axis2 WS-RM modules (to set WS-RM specific options) at caller side.
> Sandesha2 requires these following steps to be done before sending the messages :
> 1. Engage sandesha2 and addressing modules, could be done by loading axis2 configuration per external endpoint which also define RMPhase.
> 2. Set SandeshaClientConstants.LAST_MESSAGE property to true, could be done by adding a custom handler that will be called before invocation.
> This require changes to ExternalService.
> A sandesha userguide that show the example of writing simple WS-RM client is http://ws.apache.org/sandesha/sandesha2/userGuide.html#writing_clients

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.