hi,
I did some integration tests using Rampart, Sandesha and Addressing. for
both http and smtp transports.
All those senarios successed with the latest Axis2 and Sandesha builds with
the attached Axis2.xml and Sandesha module.xml. (Chamikara helped me a lot
in doing this.)
Same tests successed with an .Net service using http transport as well.
Therefore I belive this phase order is the most correct one to use with full
stack.
Here we have used a new phase called
<phase name="SandeshaGlobalHandlerPhase" />
to support sandesha. So shall we put this phase as well?
When considering this senario a suggestion at sometime to let modules to
define there own phases came to my mind. As I remember Glen has made this
proposal, I put a +1 and deepal had put a -1.
If that feature was there we would have solve this problem without changing
the axis2 xml file and letting modules to define their own phases and place
them using phase rules.
So as I can see this would be a nice to have a feature in Axis2
1.4(obviously not for Axis2
1.3).
thanks,
Amila.
On 7/25/07, Chamikara Jayalath <[EMAIL PROTECTED]> wrote:
Hi Guys,
+1 For the change. There is another change I would like to propose here.
Addressing comes with a AddressingValidationHandler which throws an
exception if dispatching has not been done when addressing is present. If we
move this to the Addressing Phase as well none of the other dispatchers will
work when Addressing is present.
This may be theoretically correct. But there may be scenarios where we
need the other dispatchers to work even when addressing is present. For
example the SequenceIDDIspatcher we introduced in Sandesha2 does the service
dispatching based of the WSRM sequence ID. I think we need to have the
flexibility in Axis2 to allow the addition of such features.
So my proposal is the keep the addressing handlers and the dispachers in
the Addressing phase. But to move the validation handler back. Somewhere
after dispatchers. Either we can add this as a postCondition fo the Dispatch
phase. Or we can add a new DispatchValidation Phase.
Chamikara
On 7/25/07, Jaliya Ekanayake <[EMAIL PROTECTED]> wrote:
>
> +1 for adding a new phase and resolve the issue.
> That way it clear for anybody to figure out the order
> Addressing->Security->RM
> -jaliya
> ----- Original Message -----
> From: "Deepal Jayasinghe" < [EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Tuesday, July 24, 2007 4:35 AM
> Subject: Re: [Axis2]Secure + Reliable with SMTP issue
>
>
> >I will introduce a new phase called "Addressing " and go forward ,
> let's
> > revert that if we found and issue.
> >
> > Thanks
> > Deepal
> >
> > Sanjiva Weerawarana wrote:
> >> +1 ... I think we need to ship an Axis2 that can compose nicely and
> >> easily with Rampart and Sandesha to make secure+RM work correctly for
> >> HTTP and SMTP (basically for all transports we support).
> >>
> >> Sanjiva.
> >>
> >> Deepal Jayasinghe wrote:
> >>> Hi Dims,
> >>>
> >>> No the issues is client side when someone tries to use RM+ Security
> then
> >>> he has to go and change axis2.xml. Other thing is for security to
> work
> >>> correctly it is required to have addressing based dispatcher before
> >>> security handlers. And using a security is common case so I think
> >>> default axis2.xml should support that.
> >>>
> >>> Thanks
> >>> Deepal
> >>>> Deepal,
> >>>>
> >>>> IMHO, This can be documented and fixed post 1.3 I can see folks who
>
> >>>> are working on an advanced scenario comfortable with a custom
> >>>> axis2.xml.
> >>>>
> >>>> thanks,
> >>>> dims
> >>>>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Chamikara Jayalath
WSO2 Inc.
http://wso2.com/
http://wso2.org/ - For your Oxygen needs
--
Amila Suriarachchi,
WSO2 Inc.
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<axisconfig name="AxisJava2.0">
<!-- ================================================= -->
<!-- Parameters -->
<!-- ================================================= -->
<parameter name="hotdeployment">true</parameter>
<parameter name="hotupdate">false</parameter>
<parameter name="enableMTOM">false</parameter>
<parameter name="enableSwA">false</parameter>
<!--Uncomment if you want to enable file caching for attachments -->
<!--parameter name="cacheAttachments">true</parameter>
<parameter name="attachmentDIR"></parameter>
<parameter name="sizeThreshold">4000</parameter-->
<!--This will give out the timout of the configuration contexts, in milliseconds-->
<parameter name="ConfigContextTimeoutInterval">30000</parameter>
<!--During a fault, stack trace can be sent with the fault message. The following flag will control -->
<!--that behavior.-->
<parameter name="sendStacktraceDetailsWithFaults">false</parameter>
<!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
<!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
<!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
<!--is set, then Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
<parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
<parameter name="userName">admin</parameter>
<parameter name="password">axis2</parameter>
<!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
<!--<parameter name="ServicesDirectory">service</parameter>-->
<!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
<!--<parameter name="ModulesDirectory">modules</parameter>-->
<!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
<!--root which can configured using the following contextRoot parameter-->
<!--<parameter name="contextRoot">axis2</parameter>-->
<!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguiush those endpoints-->
<!--In case of a servlet, if you change this you have to manually change the settings of your servlet container to map this -->
<!--context path to proper Axis2 servlets-->
<!--<parameter name="servicePath">services</parameter>-->
<!--<parameter name="restPath">rest</parameter>-->
<!--==============================================================-->
<!-- Custom Deplyers -->
<!--==============================================================-->
<!--To have POJO (Service as only one class file , class can be annotated one or not)
support uncomment the following XML tag-->
<!--<deployer class="org.apache.axis2.deployment.POJODeployer" extension=".class" directory="pojo"/>-->
<!--To have POJO (Service as more than one class , so a jar file) support uncomment the following XML tag-->
<!--<deployer class="org.apache.axis2.deployment.POJODeployer" extension=".jar" directory="pojo"/>-->
<!-- Following parameter will completely disable REST handling in Axis2-->
<parameter name="disableREST" locked="true">false</parameter>
<!-- If you have a front end host which exposes this webservice using a different public URL -->
<!-- use this parameter to override autodetected url -->
<!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>-->
<!-- The way of adding listener to the system-->
<!-- <listener class="org.apache.axis2.ObserverIMPL">-->
<!-- <parameter name="RSS_URL">http://127.0.0.1/rss</parameter>-->
<!-- </listener>-->
<!-- ================================================= -->
<!-- Message Receivers -->
<!-- ================================================= -->
<!--This is the deafult MessageReceiver for the system , if you want to have MessageReceivers for -->
<!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
<!--any operation -->
<!--Note : You can ovrride this for a particular service by adding the same element with your requirement-->
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</messageReceivers>
<!-- ================================================= -->
<!-- Message Formatter -->
<!-- ================================================= -->
<!--Following content type to message formatter mapping can be used to implement support for different message -->
<!--format serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
<messageFormatters>
<messageFormatter contentType="application/x-www-form-urlencoded"
class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
<messageFormatter contentType="multipart/form-data"
class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
<messageFormatter contentType="application/xml"
class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
</messageFormatters>
<!-- ================================================= -->
<!-- Message Builders -->
<!-- ================================================= -->
<!--Following content type to builder mapping can be used to implement support for different message -->
<!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
<messageBuilders>
<messageBuilder contentType="application/xml"
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
<messageBuilder contentType="application/x-www-form-urlencoded"
class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
<messageBuilder contentType="multipart/form-data"
class="org.apache.axis2.builder.MultipartFormDataBuilder"/>
</messageBuilders>
<!-- ================================================= -->
<!-- Transport Ins -->
<!-- ================================================= -->
<transportReceiver name="http"
class="org.apache.axis2.transport.http.SimpleHTTPServer">
<parameter name="port">8090</parameter>
<!-- Here is the complete list of supported parameters (see example settings further below):
port: the port to listen on (default 6060)
hostname: if non-null, url prefix used in reply-to endpoint references (default null)
originServer: value of http Server header in outgoing messages (default "Simple-Server/1.1")
requestTimeout: value in millis of time that requests can wait for data (default 20000)
requestTcpNoDelay: true to maximize performance and minimize latency (default true)
false to minimize bandwidth consumption by combining segments
requestCoreThreadPoolSize: number of threads available for request processing (unless queue fills up) (default 25)
requestMaxThreadPoolSize: number of threads available for request processing if queue fills up (default 150)
note that default queue never fills up: see HttpFactory
threadKeepAliveTime: time to keep threads in excess of core size alive while inactive (default 180)
note that no such threads can exist with default unbounded request queue
threadKeepAliveTimeUnit: TimeUnit of value in threadKeepAliveTime (default SECONDS) (default SECONDS)
-->
<parameter name="hostname">http://localhost:8090</parameter>
<!--<parameter name="hostname">http://www-lk.wso2.com:8090</parameter>-->
<!-- <parameter name="originServer">My-Server/1.1</parameter> -->
<!--<parameter name="requestTimeout">10000</parameter> -->
<!-- <parameter name="requestTcpNoDelay">false</parameter> -->
<!-- <parameter name="requestCoreThreadPoolSize">50</parameter> -->
<!-- <parameter name="RequestMaxThreadPoolSize">100</parameter> -->
<!-- <parameter name="threadKeepAliveTime">240000</parameter> -->
<!-- <parameter name="threadKeepAliveTimeUnit">MILLISECONDS</parameter> -->
</transportReceiver>
<!--Uncomment this and configure as appropriate for JMS transport support, after setting up your JMS environment (e.g. ActiveMQ)
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="myTopicConnectionFactory">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
</parameter>
<parameter name="myQueueConnectionFactory">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
</parameter>
<parameter name="default">
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
</parameter>
</transportReceiver>-->
<!-- ================================================= -->
<!-- Mail Transport Listener -->
<!-- This is a sample configuration. It assumes a mail server running in localhost.
Listener pops messages that comes to the email address [EMAIL PROTECTED] Users
password is red. Listener connect to the server every 3000 milliseconds.
Parameters with "transport." prefix is Axis2 specific. Others are all from Java Mail API.
http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
-->
<!-- ================================================= -->
<transportReceiver name="mailto" class="org.apache.axis2.transport.mail.SimpleMailListener">
<parameter name="mail.pop3.host">test</parameter>
<parameter name="mail.pop3.user">test</parameter>
<parameter name="mail.store.protocol">pop3</parameter>
<parameter name="transport.mail.pop3.password">test</parameter>
<parameter name="transport.mail.replyToAddress">test</parameter>
<parameter name="transport.listener.interval">3000</parameter>
</transportReceiver>
<!--Uncomment if you want to have TCP transport support-->
<!--transportReceiver name="tcp"
class="org.apache.axis2.transport.tcp.TCPServer">
<parameter name="port">6060</parameter-->>
<!--If you want to give your own host address for EPR generation-->
<!--uncomment the following paramter , and set it as you required.-->
<!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
<!-- /transportReceiver -->
<!-- ================================================= -->
<!-- Transport Outs -->
<!-- ================================================= -->
<transportSender name="tcp"
class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
<transportSender name="local"
class="org.apache.axis2.transport.local.LocalTransportSender"/>
<transportSender name="http"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
<!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages -->
<parameter name="OmitSOAP12Action">true</parameter>
</transportSender>
<transportSender name="https"
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
<parameter name="PROTOCOL">HTTP/1.1</parameter>
<parameter name="Transfer-Encoding">chunked</parameter>
</transportSender>
<transportSender name="jms"
class="org.apache.axis2.transport.jms.JMSSender"/>
<transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
<parameter name="mail.smtp.host">test</parameter>
<parameter name="mail.smtp.from">test</parameter>
</transportSender>
<!-- ================================================= -->
<!-- Global Modules -->
<!-- ================================================= -->
<!-- Comment this to disable Addressing -->
<module ref="addressing"/>
<!--Configuring module , providing parameters for modules whether they refer or not-->
<!--<moduleConfig name="addressing">-->
<!--<parameter name="addressingPara">N/A</parameter>-->
<!--</moduleConfig>-->
<!-- ================================================= -->
<!-- Clustering -->
<!-- ================================================= -->
<!-- Configure and uncomment following for preparing Axis2 to a clustered environment -->
<!--
<cluster class="org.apache.axis2.cluster.tribes.TribesClusterManager">
<parameter name="param1">value1</parameter>
<configurationManager class="org.apache.axis2.cluster.tribes.configuration.TribesConfigurationManager">
<listeners>
</listeners>
</configurationManager>
<contextManager class="org.apache.axis2.cluster.tribes.context.TribesContextManager">
<listeners>
</listeners>
</contextManager>
</cluster>
-->
<!-- ================================================= -->
<!-- Phases -->
<!-- ================================================= -->
<phaseOrder type="InFlow">
<!-- System predefined phases -->
<phase name="Transport">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.engine.RequestURIBasedDispatcher">
<order phase="Transport"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
<order phase="Transport"/>
</handler>
</phase>
<phase name="PreDispatch">
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.engine.AddressingBasedDispatcher">
<order phase="PreDispatch" phaseLast="true"/>
</handler>
</phase>
<phase name="Security"/>
<phase name="SandeshaGlobalHandlerPhase" />
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIOperationDispatcher"
class="org.apache.axis2.engine.RequestURIOperationDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPMessageBodyBasedDispatcher"
class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="HTTPLocationBasedDispatcher"
class="org.apache.axis2.engine.HTTPLocationBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="InstanceDispatcher"
class="org.apache.axis2.engine.InstanceDispatcher">
<order phase="Dispatch" />
</handler>
</phase>
<!-- System predefined phases -->
<!-- After Postdispatch phase module author or service author can add any phase he want -->
<phase name="OperationInPhase"/>
<phase name="soapmonitorPhase"/>
<phase name="RMPhase"/>
</phaseOrder>
<phaseOrder type="OutFlow">
<!-- user can add his own phases to this area -->
<phase name="RMPhase"/>
<phase name="soapmonitorPhase"/>
<phase name="OperationOutPhase"/>
<!--system predefined phase-->
<!--these phase will run irrespective of the service-->
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
<phase name="Security"/>
</phaseOrder>
<phaseOrder type="InFaultFlow">
<phase name="PreDispatch"/>
<phase name="Security"/>
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
<handler name="RequestURIBasedDispatcher"
class="org.apache.axis2.engine.RequestURIBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="AddressingBasedDispatcher"
class="org.apache.axis2.engine.AddressingBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="RequestURIOperationDispatcher"
class="org.apache.axis2.engine.RequestURIOperationDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPMessageBodyBasedDispatcher"
class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="HTTPLocationBasedDispatcher"
class="org.apache.axis2.engine.HTTPLocationBasedDispatcher">
<order phase="Dispatch"/>
</handler>
<handler name="InstanceDispatcher"
class="org.apache.axis2.engine.InstanceDispatcher">
<order phase="PostDispatch"/>
</handler>
</phase>
<!-- user can add his own phases to this area -->
<phase name="OperationInFaultPhase"/>
<phase name="soapmonitorPhase"/>
<phase name="RMPhase"/>
</phaseOrder>
<phaseOrder type="OutFaultFlow">
<!-- user can add his own phases to this area -->
<phase name="RMPhase"/>
<phase name="soapmonitorPhase"/>
<phase name="OperationOutFaultPhase"/>
<phase name="PolicyDetermination"/>
<phase name="MessageOut"/>
</phaseOrder>
</axisconfig>
<module name="sandesha2" class="org.apache.sandesha2.SandeshaModule">
<Description>
This module implements WS-ReliableMessaging for Axis2. This implements both the WSRM submitted spec and up to the version CD4 of the new WSRM 1.1 spec.
</Description>
<InFlow>
<handler name="SequenceIDDispatcher" class="org.apache.sandesha2.handlers.SequenceIDDispatcher">
<order phase="PreDispatch" />
</handler>
<handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
<order phase="SandeshaGlobalHandlerPhase" />
</handler>
<handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
<order phase="RMPhase"/>
</handler>
</InFlow>
<OutFlow>
<handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
<order phase="RMPhase"/>
</handler>
</OutFlow>
<InFaultFlow>
<handler name="SandeshaGlobalInHandler" class="org.apache.sandesha2.handlers.SandeshaGlobalInHandler">
<!-- Global In handler should come before instance dispatching -->
<order phase="Dispatch" before="InstanceDispatcher" />
</handler>
<handler name="SandeshaInHandler" class="org.apache.sandesha2.handlers.SandeshaInHandler">
<order phase="RMPhase"/>
</handler>
</InFaultFlow>
<OutFaultFlow>
<handler name="SandeshaOutHandler" class="org.apache.sandesha2.handlers.SandeshaOutHandler">
<order phase="RMPhase"/>
</handler>
</OutFaultFlow>
<operation name="Sandesha2OperationInOnly" mep="http://www.w3.org/2006/01/wsdl/in-only">
<messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
<!-- namespaces for the 2005-02 spec -->
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
<!-- For interopability purposes. Some WSRM implementations tend to send this as the LastMessage -->
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</actionMapping>
<!-- namespaces for the 2007-02 spec -->
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/SequenceAcknowledgement</actionMapping>
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/fault</actionMapping>
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence</actionMapping>
</operation>
<operation name="Sandesha2OperationInOut" mep="http://www.w3.org/2006/01/wsdl/in-out">
<messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
<!-- namespaces for the 2005-02 spec -->
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</actionMapping>
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/AckRequested</actionMapping>
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/AckRequested</actionMapping>
<!-- namespaces for the 2007-02 spec -->
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence</actionMapping>
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequence</actionMapping>
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/TerminateSequence</actionMapping>
<actionMapping>http://docs.oasis-open.org/ws-rx/wsmc/200702/MakeConnection</actionMapping>
</operation>
<operation name="Sandesha2OperationOutOnly" mep="http://www.w3.org/2006/01/wsdl/out-only">
<messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
</operation>
<operation name="Sandesha2OperationOutIn" mep="http://www.w3.org/2006/01/wsdl/out-in">
<messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
</operation>
<operation name="Sandesha2OperationDuplicate" mep="http://www.w3.org/2006/01/wsdl/in-out">
<messageReceiver class="org.apache.sandesha2.msgreceivers.RMMessageReceiver"/>
</operation>
<!-- Database connection parameters -->
<parameter name="sandesha2.db.conn.id" locked="false">jdbc:derby:../database/SANDESHA2DB;create=true</parameter>
<parameter name="sandesha2.db.driver" locked="false">org.apache.derby.jdbc.EmbeddedDriver</parameter>
<parameter name="sandesha2.db.sql.dialect" locked="false">org.hibernate.dialect.DerbyDialect</parameter>
<parameter name="sandesha2.db.username" locked="false"></parameter>
<parameter name="sandesha2.db.password" locked="false"></parameter>
<parameter name="sandesha2.db.create.mode" locked="false">update</parameter>
<!-- Parameters that will be copied when creating related MessageContexts -->
<parameter name="propertiesToCopyFromReferenceMessage" locked="false">TransportURL,WSAddressingVersion,disableAddressingForOutMessages,rampartPolicy,RECV_RESULTS,PROXY</parameter>
<parameter name="propertiesToCopyFromReferenceRequestMessage" locked="false">WSAddressingVersion,RECV_RESULTS,rampartPolicy</parameter>
<supported-policy-namespaces namespaces="http://ws.apache.org/sandesha2/policy" />
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:sandesha2="http://ws.apache.org/sandesha2/policy" wsu:Id="RMPolicy">
<sandesha2:RMAssertion>
<wsp:Policy>
<sandesha2:AcknowledgementInterval>3000</sandesha2:AcknowledgementInterval>
<sandesha2:RetransmissionInterval>6000</sandesha2:RetransmissionInterval>
<!-- '-1' conveys that there is no limit to the max. number of retransmissions.-->
<sandesha2:MaximumRetransmissionCount>10</sandesha2:MaximumRetransmissionCount>
<sandesha2:ExponentialBackoff>false</sandesha2:ExponentialBackoff>
<sandesha2:InactivityTimeout>60</sandesha2:InactivityTimeout>
<sandesha2:InactivityTimeoutMeasure>seconds</sandesha2:InactivityTimeoutMeasure>
<!-- Once a sequence has been marked as deleted, or timed out, this is the length of time that the
sequence will remain before all sequence state is totally removed -->
<sandesha2:SequenceRemovalTimeout>600</sandesha2:SequenceRemovalTimeout>
<sandesha2:SequenceRemovalTimeoutMeasure>seconds</sandesha2:SequenceRemovalTimeoutMeasure>
<sandesha2:InvokeInOrder>true</sandesha2:InvokeInOrder>
<!-- These will not be overriden by service level policies -->
<sandesha2:MessageTypesToDrop>none</sandesha2:MessageTypesToDrop>
<!-- This will not be overriden by service level policies -->
<sandesha2:StorageManagers>
<sandesha2:InMemoryStorageManager>
org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
</sandesha2:InMemoryStorageManager>
<sandesha2:PermanentStorageManager>
org.wso2.sandesha2.storage.persistent.hibernate.PersistentStorageManager
</sandesha2:PermanentStorageManager>
</sandesha2:StorageManagers>
<!-- This will not be overriden by service level policies -->
<sandesha2:SecurityManager>org.apache.sandesha2.security.dummy.DummySecurityManager</sandesha2:SecurityManager>
<sandesha2:ContextManager>org.apache.sandesha2.context.DummyContextManager</sandesha2:ContextManager>
<sandesha2:MakeConnection>
<sandesha2:Enabled>true</sandesha2:Enabled>
<sandesha2:UseRMAnonURI>true</sandesha2:UseRMAnonURI>
</sandesha2:MakeConnection>
<!-- <sandesha2:UseMessageSerialization>true</sandesha2:UseMessageSerialization> -->
<sandesha2:EnforceRM>false</sandesha2:EnforceRM>
</wsp:Policy>
</sandesha2:RMAssertion>
</wsp:Policy>
</module>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]