Return-Path: Delivered-To: apmail-ws-sandesha-dev-archive@www.apache.org Received: (qmail 60068 invoked from network); 6 Oct 2008 09:46:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Oct 2008 09:46:41 -0000 Received: (qmail 65285 invoked by uid 500); 6 Oct 2008 09:46:40 -0000 Delivered-To: apmail-ws-sandesha-dev-archive@ws.apache.org Received: (qmail 65199 invoked by uid 500); 6 Oct 2008 09:46:40 -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 65188 invoked by uid 99); 6 Oct 2008 09:46:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Oct 2008 02:46:39 -0700 X-ASF-Spam-Status: No, hits=3.6 required=10.0 tests=DNS_FROM_SECURITYSAGE,HTML_MESSAGE,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of amilasuriarachchi@gmail.com designates 74.125.78.147 as permitted sender) Received: from [74.125.78.147] (HELO ey-out-1920.google.com) (74.125.78.147) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Oct 2008 09:45:33 +0000 Received: by ey-out-1920.google.com with SMTP id 21so806735eyc.28 for ; Mon, 06 Oct 2008 02:46:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=2771RMn63pdT9F3Tlo2mENmSq+EZfVjeMlTlVKyD34M=; b=patqXs/r94NJBKYwMBQpRGSxhpm1DNmzQ27Zh5UxR6jAdGCciM9gcm8dQOF6uiB0bN Ih9X9x9SKqywbwic46Kg85O+CsZxkgoMpHk/hkHqr5sfLBMWhgyEZFWSwDNiuBU2i+TJ h6wQTAfz4doe8vpPMApk3OvoFIdkZYt6YZkaU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=OodquaO2ZZWEbvREY3VgXXBl0BjuO0PMrBtqUi9DJ+SYBQ1JHASKUM9JTT6Z5fVcDu IeiBlacXG4WE2wizdZnMLahtFbML+XaP7Ab1II5SN1ZFC4lCiMboFl10YH5h7ltJNdfi PhlV+DADe5hNqVPD7tjmpOpaPsB0y2ND+EjcU= Received: by 10.103.20.7 with SMTP id x7mr2620966mui.96.1223286367862; Mon, 06 Oct 2008 02:46:07 -0700 (PDT) Received: by 10.103.18.20 with HTTP; Mon, 6 Oct 2008 02:46:07 -0700 (PDT) Message-ID: <60708f4b0810060246t77ea5efdj382afb33d1c156f8@mail.gmail.com> Date: Mon, 6 Oct 2008 15:16:07 +0530 From: "Amila Suriarachchi" To: "sandesha-dev@ws.apache.org" Subject: Re: Sandesha2 In Only services. In-Reply-To: <60708f4b0810060229m65ed7a25sdf8e1bcafb2f941a@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_50165_11828195.1223286367861" References: <60708f4b0810060229m65ed7a25sdf8e1bcafb2f941a@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_50165_11828195.1223286367861 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I had a look at the messages being passed using tcp mon. I am using Axis2 trunk and Sandesha2 trunk code. Then I saw the following create sequence message for above mentioned test case http://localhost:8088/axis2/services/TestInService urn:uuid:27F1F5DC8E075DB6191223285847424 http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence http://www.w3.org/2005/08/addressing/anonymous urn:uuid:27F1F5DC8E075DB6191223285847439 Although this is an inonly message sequence Sandesha2 has set an Offer. This is wrong. Sansesha2 server is not checking for this but if someone try to interoperate with the .Net that will give exceptions for these. thanks, Amila. On Mon, Oct 6, 2008 at 2:59 PM, Amila Suriarachchi < amilasuriarachchi@gmail.com> wrote: > hi, > > I wrote an InOnly service and tried to invoke it using the following > client. > > ConfigurationContext configurationContext = > > ConfigurationContextFactory.createConfigurationContextFromFileSystem( > AXIS2_REPOSITORY_LOCATION, > AXIS2_CLIENT_CONFIG_FILE); > ServiceClient serviceClient = new > ServiceClient(configurationContext, null); > serviceClient.setTargetEPR(new EndpointReference(" > http://localhost:8088/axis2/services/TestInService")); > serviceClient.getOptions().setAction("urn:TestInOperation"); > serviceClient.engageModule("sandesha2"); > serviceClient.getOptions().setUseSeparateListener(true); > > serviceClient.getOptions().setProperty(SandeshaClientConstants.INTERNAL_SEQUENCE_ID, > "key1"); > System.out.println("Invoke client using thread ==> " + > Thread.currentThread().getName()); > for (int i = 1; i < 100; i++) { > serviceClient.fireAndForget(getTestOMElement(i)); > try { > Thread.sleep(1000); > } catch (InterruptedException e) { > } > } > > serviceClient.getOptions().setProperty(SandeshaClientConstants.LAST_MESSAGE, > Constants.VALUE_TRUE); > serviceClient.fireAndForget(getTestOMElement(11)); > > The sequence went fine. But although I have set > serviceClient.getOptions().setUseSeparateListener(true); Sandesha2 send and > receive messages in same channel. > > So how can I set it to work in dual channel (i.e with addressing reply to)? > > Then I do the above test randomly starting and stopping the tcp channel > using the Tcp mon. Sandesha2 could recover messages and > every thing worked fine. Then I start the client without starting the > sequence and the server started after some time. In this case it > could not recover messages. I did not make any changes to module.xml so I > believe it uses default value. > Has any one face this problem? > > Finally I saw this in sandesha2 module.xml this, > > > > > > org.apache.sandesha2.storage.inmemory.InMemoryStorageManager > > > > > org.apache.sandesha2.storage.inmemory.InMemoryStorageManager > > > > > What is the purpose of having two storage managers? Isn't this cause > problems in handling transactions? > > Can someone please help me figuring out these issues? > > thanks, > Amila. > > > -- > Amila Suriarachchi > WSO2 Inc. > blog: http://amilachinthaka.blogspot.com/ > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ ------=_Part_50165_11828195.1223286367861 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline
I had a look at the messages being passed using tcp mon. I am using Axis2 trunk and Sandesha2 trunk code.

Then I saw the following create sequence message for above mentioned test case

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header>
         <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8088/axis2/services/TestInService</wsa:To>
         <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:uuid:27F1F5DC8E075DB6191223285847424</wsa:MessageID>
         <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
         <wsrm:CreateSequence xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
            <wsrm:AcksTo>
               <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
            </wsrm:AcksTo>
            <wsrm:Offer>
               <wsrm:Identifier>urn:uuid:27F1F5DC8E075DB6191223285847439</wsrm:Identifier>
            </wsrm:Offer>
         </wsrm:CreateSequence>
      </soapenv:Body>
   </soapenv:Envelope>

Although this is an inonly message sequence Sandesha2 has set an Offer. This is wrong. Sansesha2 server is not
checking for this but if someone try to interoperate with the .Net that will give exceptions for these.

thanks,
Amila.

On Mon, Oct 6, 2008 at 2:59 PM, Amila Suriarachchi <amilasuriarachchi@gmail.com> wrote:
hi,

I wrote an InOnly service and tried to invoke it using the following client.

ConfigurationContext configurationContext =
                    ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                            AXIS2_REPOSITORY_LOCATION, AXIS2_CLIENT_CONFIG_FILE);
            ServiceClient serviceClient = new ServiceClient(configurationContext, null);
            serviceClient.setTargetEPR(new EndpointReference("http://localhost:8088/axis2/services/TestInService"));
            serviceClient.getOptions().setAction("urn:TestInOperation");
            serviceClient.engageModule("sandesha2");
            serviceClient.getOptions().setUseSeparateListener(true);
            serviceClient.getOptions().setProperty(SandeshaClientConstants.INTERNAL_SEQUENCE_ID, "key1");
            System.out.println("Invoke client using thread ==> " + Thread.currentThread().getName());
            for (int i = 1; i < 100; i++) {
                serviceClient.fireAndForget(getTestOMElement(i));
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                }
            }
            serviceClient.getOptions().setProperty(SandeshaClientConstants.LAST_MESSAGE, Constants.VALUE_TRUE);
            serviceClient.fireAndForget(getTestOMElement(11));

The sequence went fine. But although I have set
serviceClient.getOptions().setUseSeparateListener(true); Sandesha2 send and receive messages in same channel.

So how can I set it to work in dual channel (i.e with addressing reply to)?

Then I do the above test randomly starting and stopping the tcp channel using the Tcp mon. Sandesha2 could recover messages and
every thing worked fine. Then I start the client without starting the sequence and the server started after some time. In this case it
could not recover messages. I did not make any changes to module.xml so I believe  it uses default value.
Has any one face this problem?

Finally I saw this in sandesha2 module.xml this,

<sandesha2:StorageManagers>
   
                    <sandesha2:InMemoryStorageManager>
                      org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
                    </sandesha2:InMemoryStorageManager>
   
                    <sandesha2:PermanentStorageManager>
                      org.apache.sandesha2.storage.inmemory.InMemoryStorageManager
                    </sandesha2:PermanentStorageManager>
   
                </sandesha2:StorageManagers>

What is the purpose of having two storage managers? Isn't this cause problems in handling transactions?

Can someone please help me figuring out these issues?

thanks,
Amila.


--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/



--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
------=_Part_50165_11828195.1223286367861--