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