Return-Path: Delivered-To: apmail-ws-sandesha-dev-archive@www.apache.org Received: (qmail 76566 invoked from network); 18 Jan 2006 14:11:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 18 Jan 2006 14:11:40 -0000 Received: (qmail 34975 invoked by uid 500); 18 Jan 2006 14:11:19 -0000 Delivered-To: apmail-ws-sandesha-dev-archive@ws.apache.org Received: (qmail 34818 invoked by uid 500); 18 Jan 2006 14:11:18 -0000 Mailing-List: contact sandesha-dev-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list sandesha-dev@ws.apache.org Received: (qmail 34775 invoked by uid 99); 18 Jan 2006 14:11:18 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2006 06:11:18 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of jnekanayake@gmail.com designates 64.233.162.206 as permitted sender) Received: from [64.233.162.206] (HELO zproxy.gmail.com) (64.233.162.206) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2006 06:11:17 -0800 Received: by zproxy.gmail.com with SMTP id 18so1665807nzp for ; Wed, 18 Jan 2006 06:10:56 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:reply-to:from:to:cc:references:subject:date:mime-version:content-type:content-transfer-encoding:x-priority:x-msmail-priority:x-mailer:x-mimeole; b=TVqPTNIQarCbG/FXlO7E1vlA+b6yfONQ9132V82+t6RbEdq/N5sOh56SkAhTQaLozCaPHumnH05ce/JHfy2oHGtHu3G1wOsb4ezfbW2TGgrrR0G7XrOoq8xtl5Ff62Cxduk2DJJSCpK7cwMQwAJ3z1e/0GxNbv7WBp72BI8SRN0= Received: by 10.36.100.13 with SMTP id x13mr6647942nzb; Wed, 18 Jan 2006 06:10:56 -0800 (PST) Received: from BLRHJEKANAYA1 ( [149.159.3.192]) by mx.gmail.com with ESMTP id 10sm7782455nzo.2006.01.18.06.10.55; Wed, 18 Jan 2006 06:10:55 -0800 (PST) Message-ID: <000d01c61c38$ff5589a0$c0039f95@ads.iu.edu> Reply-To: "Jaliya Ekanayake" From: "Jaliya Ekanayake" To: "Benjamin Schmeling" , "Jaliya Ekanayake" Cc: References: <43CD0207.9070502@gmx.de> <003201c61bed$cb00e370$c0039f95@ads.iu.edu> <43CE0E0A.2050800@gmx.de> Subject: Re: Problem with mixed (oneway and twoway) calls Date: Wed, 18 Jan 2006 09:10:54 -0500 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi, What I mentioned was this SandeshaContext ctx = new SandeshaContext(); >> if(org.apache.sandesha.Constants.SYNCHRONOUS == sync) >> ctx = new SandeshaContext(sync); Hmm, Yes, it is a possibility and thanks for letting us know this. Will include fixes for all these in a new release. Thanks, Jaliya ----- Original Message ----- From: "Benjamin Schmeling" To: "Jaliya Ekanayake" Cc: Sent: Wednesday, January 18, 2006 4:44 AM Subject: Re: Problem with mixed (oneway and twoway) calls > Hi, > > Sync = true ?, I did not set sync to true and ctx.isSync() = false all the > time. I think when you need a new Sandesha context for mixed calls there > can result a very high network traffic because of the message overhead of > reliable messaging (CreateSequence, TerminateSequence etc.). Is there no > possibility to change this? > > Thanks, > Benjamin > >> Hi Benjamin, >> >> In sandesha you cannot mix one-way and two-way messages in a single >> context. >> There should be two contexes for oneway and two way sequences. >> >> This is because once we initialize a sequence with sync=true then it will >> not handle two-way sequences. >> >> Thanks, >> Jaliya >> >> >> ----- Original Message ----- From: "Benjamin Schmeling" >> >> To: >> Sent: Tuesday, January 17, 2006 9:41 AM >> Subject: Problem with mixed (oneway and twoway) calls >> >> >>> Hi, >>> >>> I have a problem when making three calls in one sequence, where the >>> second call is twoway and the others are oneway. The calls are all >>> successful but the calling of endSequence() results in an endless loop, >>> because the isSequenceComplete(String seqId) method of the >>> ClientStorageManager always returns false (because of >>> incomingTerminateReceived = false). >>> >>> In my attachment it concerns the last test. >>> >>> Thanks, >>> >>> Benjamin >>> >> >> >> -------------------------------------------------------------------------------- >> >> >> >>> package de.tud.ao4bpel.services.reliability.test; >>> >>> import java.net.MalformedURLException; >>> import java.rmi.RemoteException; >>> >>> import javax.xml.namespace.QName; >>> import javax.xml.rpc.ParameterMode; >>> import javax.xml.rpc.ServiceException; >>> >>> import junit.framework.TestCase; >>> >>> import org.apache.axis.Constants; >>> import org.apache.axis.client.Call; >>> import org.apache.axis.client.Service; >>> import org.apache.sandesha.SandeshaContext; >>> >>> public class SandeshaTest extends TestCase{ >>> >>> >>> public void testCallTwowaySequence() throws ServiceException, >>> MalformedURLException, RemoteException{ >>> int sync = 1; >>> String endpoint = "http://majestix:8080/axis/services/TestWebservice"; >>> SandeshaContext ctx = new SandeshaContext(); >>> if(org.apache.sandesha.Constants.SYNCHRONOUS == sync) >>> ctx = new SandeshaContext(sync); >>> // --------------------------- Init -------------------------// >>> String operationName = "testWSOneway1"; >>> Service service1 = new Service(); >>> Call call1; >>> call1 = (Call) service1.createCall(); >>> >>> ctx.initCall(call1, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_OUT); >>> call1.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> >>> call1.setOperationName(new QName("TestWebservice", operationName)); >>> call1.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> >>> call1.setReturnType(Constants.XSD_STRING); >>> //---------------------------- Service 1 ------------------------------- >>> // >>> call1.setOperationName(new QName("TestWebservice", "testWS1")); >>> Object[] paramArray1 = new Object[] {"message1 sent by >>> callOnewaySequence"}; >>> System.out.println(call1.invoke(paramArray1)); >>> // ---------------------------- Service >>> 2 ------------------------------- // >>> Call call2; >>> call2 = (Call) service1.createCall(); >>> ctx.initCall(call2, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_OUT); >>> call2.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call2.setReturnType(Constants.XSD_STRING); >>> call2.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call2.setOperationName(new QName("TestWebservice", "testWS2")); >>> Object[] paramArray2 = new Object[] {"message2 sent by >>> callOnewaySequence"}; >>> System.out.println(call2.invoke(paramArray2)); >>> //---------------------------- Service 3 ------------------------------- >>> // >>> Call call3; >>> call3 = (Call) service1.createCall(); >>> ctx.initCall(call3, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_OUT); >>> call3.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call3.setReturnType(Constants.XSD_STRING); >>> call3.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call3.setOperationName(new QName("TestWebservice", "testWS3")); >>> ctx.setLastMessage(call3); >>> Object[] paramArray3 = new Object[] {"message3 sent by >>> callOnewaySequence"}; >>> System.out.println(call3.invoke(paramArray3)); >>> ctx.endSequence(); >>> } >>> >>> public void testCallOnewaySequence() throws ServiceException, >>> MalformedURLException, RemoteException{ >>> int sync = 1; >>> String endpoint = "http://majestix:8080/axis/services/TestWebservice"; >>> SandeshaContext ctx = new SandeshaContext(); >>> if(org.apache.sandesha.Constants.SYNCHRONOUS == sync) >>> ctx = new SandeshaContext(sync); >>> // --------------------------- Init -------------------------// >>> String operationName = "testWSOneway1"; >>> Service service1 = new Service(); >>> Call call1; >>> call1 = (Call) service1.createCall(); >>> >>> ctx.initCall(call1, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_ONLY); >>> call1.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> >>> call1.setOperationName(new QName("TestWebservice", operationName)); >>> call1.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> >>> //---------------------------- Service 1 ------------------------------- >>> // >>> call1.setOperationName(new QName("TestWebservice", "testOnewayWS1")); >>> Object[] paramArray1 = new Object[] {"message1 sent by >>> callOnewaySequence"}; >>> System.out.println(call1.invoke(paramArray1)); >>> // ---------------------------- Service >>> 2 ------------------------------- // >>> Call call2; >>> call2 = (Call) service1.createCall(); >>> ctx.initCall(call2, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_ONLY); >>> call2.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call2.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call2.setOperationName(new QName("TestWebservice", "testOnewayWS2")); >>> Object[] paramArray2 = new Object[] {"message2 sent by >>> callOnewaySequence"}; >>> System.out.println(call2.invoke(paramArray2)); >>> //---------------------------- Service 3 ------------------------------- >>> // >>> Call call3; >>> call3 = (Call) service1.createCall(); >>> ctx.initCall(call3, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_ONLY); >>> call3.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call3.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call3.setOperationName(new QName("TestWebservice", "testOnewayWS3")); >>> ctx.setLastMessage(call3); >>> Object[] paramArray3 = new Object[] {"message3 sent by >>> callOnewaySequence"}; >>> System.out.println(call3.invoke(paramArray3)); >>> ctx.endSequence(); >>> } >>> >>> public void testCallOnewaySequenceMixed() throws ServiceException, >>> MalformedURLException, RemoteException{ >>> int sync = 1; >>> String endpoint = "http://majestix:8080/axis/services/TestWebservice"; >>> SandeshaContext ctx = new SandeshaContext(); >>> if(org.apache.sandesha.Constants.SYNCHRONOUS == sync) >>> ctx = new SandeshaContext(sync); >>> // --------------------------- Init -------------------------// >>> String operationName = "testWSOneway1"; >>> Service service1 = new Service(); >>> Call call1; >>> call1 = (Call) service1.createCall(); >>> >>> ctx.initCall(call1, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_ONLY); >>> call1.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> >>> call1.setOperationName(new QName("TestWebservice", operationName)); >>> call1.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> >>> //---------------------------- Service 1 ------------------------------- >>> // >>> call1.setOperationName(new QName("TestWebservice", "testOnewayWS1")); >>> Object[] paramArray1 = new Object[] {"message1 sent by >>> callOnewaySequence"}; >>> System.out.println(call1.invoke(paramArray1)); >>> // ---------------------------- Service >>> 2 ------------------------------- // >>> Call call2; >>> call2 = (Call) service1.createCall(); >>> ctx.initCall(call2, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_OUT); >>> call2.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call2.setReturnType(Constants.XSD_STRING); >>> call2.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call2.setOperationName(new QName("TestWebservice", "testWS2")); >>> Object[] paramArray2 = new Object[] {"message2 sent by >>> callOnewaySequence"}; >>> System.out.println(call2.invoke(paramArray2)); >>> //---------------------------- Service 3 ------------------------------- >>> // >>> Call call3; >>> call3 = (Call) service1.createCall(); >>> ctx.initCall(call3, endpoint, >>> "urn:wsrm:"+operationName,org.apache.sandesha.Constants.ClientProperties.IN_ONLY); >>> call3.addParameter("message", >>> org.apache.axis.Constants.XSD_STRING, >>> javax.xml.rpc.ParameterMode.IN); >>> call3.setTargetEndpointAddress( new java.net.URL(endpoint) ); >>> call3.setOperationName(new QName("TestWebservice", "testOnewayWS3")); >>> ctx.setLastMessage(call3); >>> Object[] paramArray3 = new Object[] {"message3 sent by >>> callOnewaySequence"}; >>> System.out.println(call3.invoke(paramArray3)); >>> ctx.endSequence(); >>> } >>> >>> } >>> >>> >> >> >> -------------------------------------------------------------------------------- >> >> >> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org >>> For additional commands, e-mail: sandesha-dev-help@ws.apache.org >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org >> For additional commands, e-mail: sandesha-dev-help@ws.apache.org >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org > For additional commands, e-mail: sandesha-dev-help@ws.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org For additional commands, e-mail: sandesha-dev-help@ws.apache.org