Author: charitha
Date: Thu Mar 20 05:15:25 2008
New Revision: 14992

Log:

1. Added a service and client to test asynchronous dual channel invocation.
2. Modified services.xml of axiombased service

Added:
   trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/build.xml
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/client-repo/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/client-repo/axis2.xml
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/wsas/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/wsas/client/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/wsas/client/AsyncDualClient.java
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/build.xml
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/resources/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/resources/META-INF/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/resources/META-INF/services.xml
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/wsas/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/wsas/service/
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/wsas/service/Math.java
Modified:
   
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/axiombased/service/resources/META-INF/services.xml

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/build.xml
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/build.xml
 Thu Mar 20 05:15:25 2008
@@ -0,0 +1,101 @@
+<project basedir="." default="run.client">
+
+    <property environment="env"/>
+    <!-- TODO Get WSAS_HOME from a conf file-->
+    <property name="WSAS_HOME" value="C:\wsas\Mercury\wso2wsas-2.2.1"/>
+
+    <property name="project.base.dir" value="."/>
+    
+    <property name="wsdl.uri" 
value="http://localhost:9762/services/AsyncMathService?wsdl"/>
+
+    <property name="src" value="${project.base.dir}/src"/>
+    <property name="target" value="${project.base.dir}/target"/>
+    <property name="target.java" value="${target}/src"/>
+    <property name="target.classes" value="${target}/classes"/>
+    <property name="target.stub" value="${target}/stub"/>
+    
+
+    <target name="gen.stub" if="WSAS_HOME">
+        <delete dir="${target}"/>
+        <mkdir dir="${target}\classes"/>
+        <mkdir dir="${target}\stub"/>
+        <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
+            <arg line="-uri ${wsdl.uri}"/>
+            <arg line="-o ${target}"/>
+            <classpath>
+                <fileset dir="${WSAS_HOME}\lib">
+                    <include name="*.jar"/>
+                </fileset>
+            </classpath>
+        </java>
+        <!--now compile the stub classes-->
+        <javac debug="on" memoryMaximumSize="256m" memoryInitialSize="256m" 
fork="true"
+               destdir="${target}/stub">
+            <src path="${target}/src"/>
+            <classpath>
+                <fileset dir="${WSAS_HOME}\lib">
+                    <include name="*.jar"/>
+                </fileset>
+                <fileset dir="${WSAS_HOME}\lib\endorsed">
+                    <include name="*.*"/>
+                </fileset>
+            </classpath>
+        </javac>
+        
+         <!--jar the compiled stuff-->
+        <jar destfile="${target}/AsyncMathService-stub.jar">
+            <fileset dir="${target}/stub">
+                <!--exclude name="**/META-INF/*.*"/-->
+            </fileset>
+        </jar>
+    </target>
+        
+        
+         
+    <target name="run.client" depends="clean,gen.stub">
+        
+        <!-- Compile the client -->
+        
+        <javac debug="on" memoryMaximumSize="256m" memoryInitialSize="256m" 
fork="true"
+               destdir="${target}/classes">
+            <src path="./src"/>
+            <classpath>
+                <fileset dir="${WSAS_HOME}\lib">
+                    <include name="*.jar"/>
+                </fileset>
+                <fileset dir="${target}">
+                    <include name="*.jar"/>
+                </fileset>
+                <fileset dir="${WSAS_HOME}\lib\endorsed">
+                    <include name="*.*"/>
+                </fileset>
+            </classpath>
+        </javac>
+        
+         <!--jar the compiled stuff-->
+        <jar destfile="${target}/AsyncMathService-client.jar">
+            <fileset dir="${target}/classes">
+                <!--exclude name="**/META-INF/*.*"/-->
+            </fileset>
+        </jar>
+        
+        <java classname="org.wso2.wsas.client.AsyncDualClient">
+            <classpath>
+                <fileset dir="${WSAS_HOME}\lib">
+                    <include name="*.jar"/>
+                </fileset>
+                <fileset dir="${target}">
+                    <include name="*.jar"/>
+                </fileset>
+                <fileset dir="${WSAS_HOME}\lib\endorsed">
+                    <include name="*.*"/>
+                </fileset>
+            </classpath>
+        </java>
+    </target>
+
+   <target name="clean">
+        <delete dir="target"/>
+    </target>
+
+</project>
\ No newline at end of file

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/client-repo/axis2.xml
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/client-repo/axis2.xml
     Thu Mar 20 05:15:25 2008
@@ -0,0 +1,432 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you 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">true</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.-->
+    <!--ServicesDirectory only works on the following cases-->
+    <!---File based configurator and in that case the value should be a file 
URL (http:// not allowed)-->
+    <!---When creating URL Based configurator with URL “file://”  -->
+    <!--- War based configurator with expanded case , -->
+
+    <!--All the other scenarios it will be ignored.-->
+    <!--<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>-->
+
+    <!-- Following parameter will completely disable REST handling in Axis2-->
+    <parameter name="disableREST" locked="true">false</parameter>
+
+    <!--POJO deployer , this will alow users to drop .class file and make that 
into a service-->
+    <deployer extension=".jar" directory="pojo" 
class="org.apache.axis2.deployment.POJODeployer"/>
+
+    <!-- Following parameter will set the host name for the epr-->
+    <!--<parameter name="hostname" locked="true">myhost.com</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:8092</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>-->
+
+    <!-- ================================================= -->
+    <!-- Non-blocking http/s Transport Listener  -->
+
+    <!-- the non blocking http transport based on HttpCore + NIO extensions
+    <transportReceiver name="http" 
class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener">
+       <parameter name="port" locked="false">9000</parameter>
+       <parameter name="non-blocking" locked="false">true</parameter>
+    </transportReceiver>-->
+
+    <!-- the non blocking https transport based on HttpCore + SSL-NIO 
extensions
+    <transportReceiver name="https" 
class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener">
+       <parameter name="port" locked="false">9002</parameter>
+       <parameter name="non-blocking" locked="false">true</parameter>
+        <parameter name="keystore" locked="false">
+            <KeyStore>
+                <Location>identity.jks</Location>
+                <Type>JKS</Type>
+                <Password>password</Password>
+                <KeyPassword>password</KeyPassword>
+            </KeyStore>
+        </parameter>
+        <parameter name="truststore" locked="false">
+            <TrustStore>
+                <Location>trust.jks</Location>
+                <Type>JKS</Type>
+                <Password>password</Password>
+            </TrustStore>
+        </parameter>-->
+        <!--<parameter name="SSLVerifyClient">require</parameter>
+            supports optional|require or defaults to none -->
+    <!--</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">localhost</parameter>
+        <parameter name="mail.pop3.user">red</parameter>
+        <parameter name="mail.store.protocol">pop3</parameter>
+        <parameter name="transport.mail.pop3.password">red</parameter>
+        <parameter name="transport.mail.replyToAddress">[EMAIL 
PROTECTED]</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"/-->
+                  
+
+    <!-- ================================================= -->
+    <!-- Non-blocking http/s Transport Sender  -->
+
+    <!-- the non-blocking http transport sender based on HttpCore + NIO 
extensions
+    <transportSender name="http"  
class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender">
+        <parameter name="non-blocking" locked="false">true</parameter>
+    </transportSender>-->
+
+    <!-- the non-blocking https transport sender based on HttpCore + NIO SSL 
extensions
+    <transportSender name="https" 
class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender">
+        <parameter name="non-blocking" locked="false">true</parameter>
+        <parameter name="keystore" locked="false">
+            <KeyStore>
+                <Location>identity.jks</Location>
+                <Type>JKS</Type>
+                <Password>password</Password>
+                <KeyPassword>password</KeyPassword>
+            </KeyStore>
+        </parameter>
+        <parameter name="truststore" locked="false">
+            <TrustStore>
+                <Location>trust.jks</Location>
+                <Type>JKS</Type>
+                <Password>password</Password>
+            </TrustStore>
+        </parameter>-->
+        <!--<parameter name="HostnameVerifier">DefaultAndLocalhost</parameter>
+            supports Strict|AllowAll|DefaultAndLocalhost or the default if 
none specified -->
+    <!--</transportSender>-->
+
+    <!-- ================================================= -->
+    <!-- Mail Transport Sender  -->
+    <!--Only need to uncomment the sender. Configuration is achieved with 
every client.
+        At any instant mail host should be given. Sample configuration has 
been given.
+        http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html
+   -->
+    <!-- ================================================= -->
+   <!--<transportSender name="mailto" 
class="org.apache.axis2.transport.mail.MailTransportSender">
+        <parameter name="mail.smtp.host">localhost</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>
+        <parameter name="domain">apache.axis2.domain</parameter>
+       <configurationManager 
class="org.apache.axis2.cluster.configuration.TribesConfigurationManager">
+           <listener 
class="org.apache.axis2.cluster.configuration.DefaultConfigurationManagerListener"/>
+       </configurationManager>
+       <contextManager 
class="org.apache.axis2.cluster.context.TribesContextManager">
+           <listener 
class="org.apache.axis2.cluster.context.DefaultContextManagerListener"/>
+       </contextManager>
+    </cluster>
+    -->
+
+    <!-- ================================================= -->
+    <!-- Phases  -->
+    <!-- ================================================= -->
+    <phaseOrder type="InFlow">
+        <!--  System predefined phases       -->
+        <phase name="Transport">
+            <handler name="RequestURIBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+            <handler name="SOAPActionBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
+                <order phase="Transport"/>
+            </handler>
+        </phase>
+        <phase name="Addressing">
+             <handler name="AddressingBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+                 <order phase="Addressing"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+            <handler name="SOAPActionBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+            <handler name="RequestURIOperationDispatcher"
+                     
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+
+            <handler name="HTTPLocationBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+        </phase>
+        <phase name="RMPhase"/>
+        <!--  System predefined phases       -->
+        <!--   After Postdispatch phase module author or service author can 
add any phase he want      -->
+        <phase name="OperationInPhase"/>
+        <phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="soapmonitorPhase"/>
+        <phase name="OperationOutPhase"/>
+        <!--system predefined phase-->
+        <!--these phase will run irrespective of the service-->
+        <phase name="RMPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+        <phase name="Security"/>
+    </phaseOrder>
+    <phaseOrder type="InFaultFlow">
+        <phase name="Addressing">
+             <handler name="AddressingBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+                 <order phase="Addressing"/>
+            </handler>
+        </phase>
+        <phase name="Security"/>
+        <phase name="PreDispatch"/>
+        <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+            <handler name="RequestURIBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+            <handler name="SOAPActionBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+            <handler name="RequestURIOperationDispatcher"
+                     
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+            <handler name="SOAPMessageBodyBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+
+            <handler name="HTTPLocationBasedDispatcher"
+                     
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+        </phase>
+        <phase name="RMPhase"/>
+        <!--      user can add his own phases to this area  -->
+        <phase name="OperationInFaultPhase"/>
+        <phase name="soapmonitorPhase"/>
+    </phaseOrder>
+    <phaseOrder type="OutFaultFlow">
+        <!--      user can add his own phases to this area  -->
+        <phase name="soapmonitorPhase"/>
+        <phase name="OperationOutFaultPhase"/>
+        <phase name="RMPhase"/>
+        <phase name="PolicyDetermination"/>
+        <phase name="MessageOut"/>
+    </phaseOrder>
+</axisconfig>

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/wsas/client/AsyncDualClient.java
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/client/src/org/wso2/wsas/client/AsyncDualClient.java
     Thu Mar 20 05:15:25 2008
@@ -0,0 +1,60 @@
+package org.wso2.wsas.client;
+
+import java.rmi.RemoteException;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.wso2.wsas.service.AsyncMathServiceCallbackHandler;
+import org.wso2.wsas.service.AsyncMathServiceStub;
+
+
+/* This is a sample client to verify Asynchronous dual channel invocation
+ * Written by Charitha Kankanamge 
+ */
+
+public class AsyncDualClient {
+       //TODO Read the client repository location from user
+       private static final String CLIENT_CONF_FILE = 
"C:\\projects\\qa\\wsas\\java\\TestFramework\\testcases\\pojo\\async_dual_channel\\client\\client-repo\\axis2.xml";
+       public static void main(String[] args)throws AxisFault{
+               ConfigurationContext ConfigContext = 
+                   
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null 
,CLIENT_CONF_FILE);
+               AsyncMathServiceStub stub = new 
AsyncMathServiceStub(ConfigContext, 
"http://localhost:9763/services/AsyncMathService";);
+               
+               AsyncMathServiceCallbackHandler callback = new 
AsyncMathServiceCallbackHandler(){
+                       public void 
receiveResultsum(AsyncMathServiceStub.SumResponse result){
+                               System.out.println(result.get_return());
+                       }
+               };
+               
+               AsyncMathServiceStub.Sum request = new 
AsyncMathServiceStub.Sum();
+               request.setM(10);
+               request.setN(20);
+               
+               //Do dual channel blocking invocation
+               
+               
stub._getServiceClient().getOptions().setUseSeparateListener(true);
+               
stub._getServiceClient().getOptions().setTransportInProtocol(Constants.TRANSPORT_HTTP);
+               stub._getServiceClient().engageModule("addressing");
+               
+               try {
+                       stub.startsum(request, callback);
+               } catch (RemoteException e1) {
+                               e1.printStackTrace();
+               }
+       
+       
+       try {
+               Thread.sleep(10000);
+       } catch (InterruptedException e) {
+               e.printStackTrace();
+       }
+       
+       ConfigContext.getListenerManager().stop();
+
+               
+       
+       }
+
+       }
\ No newline at end of file

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/build.xml
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/build.xml
        Thu Mar 20 05:15:25 2008
@@ -0,0 +1,47 @@
+
+<project name="JavaBeanService" basedir="." default="generate.service">
+
+    <property environment="env"/>
+    <!--TODO Get WSAS_HOME from a conf file-->
+    <property name="WSAS_HOME" value="C:\wsas\Mercury\wso2wsas-2.2.1"/>
+
+    <property name="build.dir" value="build"/>
+
+    <path id="wsas.classpath">
+        <fileset dir="${WSAS_HOME}/lib">
+            <include name="*.jar"/>
+        </fileset>
+    </path>
+
+    <target name="compile.service">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.dir}/classes"/>
+
+        <!--First let's compile the classes-->
+        <javac debug="on" 
+               fork="true"
+               destdir="${build.dir}/classes" 
+               srcdir="${basedir}/src"
+               classpathref="wsas.classpath">
+        </javac>
+    </target>
+
+    
+    <target name="generate.service" depends="compile.service">
+        
+        <copy toDir="${build.dir}/classes" failonerror="false">
+            <fileset dir="${basedir}/resources">
+                <include name="**/*.xml"/>
+            </fileset>
+        </copy>
+        <jar destfile="${build.dir}/AsyncMathService.aar">
+            <fileset excludes="**/Test.class" dir="${build.dir}/classes"/>
+        </jar>
+        <copy file="${build.dir}/AsyncMathService.aar" 
tofile="${WSAS_HOME}/repository/services/AsyncMathService.aar"
+              overwrite="true"/>
+    </target>
+
+    <target name="clean">
+        <delete dir="${build.dir}"/>
+    </target>
+</project>

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/resources/META-INF/services.xml
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/resources/META-INF/services.xml
  Thu Mar 20 05:15:25 2008
@@ -0,0 +1,30 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you 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.
+  -->
+<service name="AsyncMathService">
+    <Description>
+        This is a sample service to verify asynchronous dual channel invocation
+    </Description>
+    <messageReceivers>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only";
+                         
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
+        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out";
+                         
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </messageReceivers>
+       <parameter name="ServiceClass">org.wso2.wsas.service.Math</parameter>
+</service>

Added: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/wsas/service/Math.java
==============================================================================
--- (empty file)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/async_dual_channel/service/src/org/wso2/wsas/service/Math.java
      Thu Mar 20 05:15:25 2008
@@ -0,0 +1,15 @@
+package org.wso2.wsas.service;
+/* This is a sample service to test asynchronous dual channel invocation
+ * Written by Charitha Kankanamge 
+ */
+
+public class Math {
+       
+       public int sum(int m, int n) {
+               return m+n;
+       }
+       
+       
+       
+
+}

Modified: 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/axiombased/service/resources/META-INF/services.xml
==============================================================================
--- 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/axiombased/service/resources/META-INF/services.xml
  (original)
+++ 
trunk/commons/qa/wsas/java/TestFramework/testcases/pojo/axiombased/service/resources/META-INF/services.xml
  Thu Mar 20 05:15:25 2008
@@ -20,8 +20,8 @@
     <Description>
         This is a sample to test a service based on AXIOM API
     </Description>
-    <messageReceivers>
+    <!--messageReceivers-->
          <messageReceiver 
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
-    </messageReceivers>
+    <!--/messageReceivers-->
        <parameter 
name="ServiceClass">org.wso2.wsas.service.AxiomBasedService</parameter>
 </service>

_______________________________________________
Commons-dev mailing list
Commons-dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/commons-dev

Reply via email to