Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 94494 invoked from network); 2 Sep 2005 12:07:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Sep 2005 12:07:41 -0000 Received: (qmail 20197 invoked by uid 500); 2 Sep 2005 12:07:39 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 19963 invoked by uid 500); 2 Sep 2005 12:07:38 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 19950 invoked by uid 99); 2 Sep 2005 12:07:37 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2005 05:07:37 -0700 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=HTML_50_60,HTML_MESSAGE,RCVD_BY_IP,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of jayachandra@gmail.com designates 64.233.184.201 as permitted sender) Received: from [64.233.184.201] (HELO wproxy.gmail.com) (64.233.184.201) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2005 05:07:52 -0700 Received: by wproxy.gmail.com with SMTP id 68so356472wri for ; Fri, 02 Sep 2005 05:07:36 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=MjoSv8fGoOBVfRG8F2Gm/P9u2RbCGqwLml45CoLZmUhQMuh13zRXdgH+eh+S0qF/LDWP2GBtnn1f1LZmxblhCBrxG9Kg2nnT1NCjFvn7yntleMBcSf7UPsmibFxvTHJAWn7hbL+3j31JjUt3oudNzNME0dsh28ZUUeng1sOVcQY= Received: by 10.54.10.56 with SMTP id 56mr2029675wrj; Fri, 02 Sep 2005 05:07:36 -0700 (PDT) Received: by 10.54.68.17 with HTTP; Fri, 2 Sep 2005 05:07:36 -0700 (PDT) Message-ID: <57023d13050902050739ee23f7@mail.gmail.com> Date: Fri, 2 Sep 2005 17:37:36 +0530 From: jayachandra Reply-To: jayachandra@gmail.com To: Ajith Ranabahu , saminda@opensource.lk, axis-dev@ws.apache.org Subject: Re: [Axis2] invokeBlocking() problems in Axis2 In-Reply-To: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1541_9976829.1125662856271" References: <57023d1305090203481c82fb48@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_1541_9976829.1125662856271 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Ajith and Saminda, thanks for replying. However, the problem still persists @Ajith! The response is almost instantaneous. Also to be on safe side I did make th= e=20 while loop run hundred times longer by increasing the Thread.sleep(100 time= s=20 the original value). Still no luck! @Saminda! Saminda, nowhere in my application I was calling a call.close() at all. Eve= n=20 in the execution flow of underlying Axis2 code nowhere call.close() was=20 called either. There is no close() method in the Call.java in my code base.= =20 Did that get added very recently? Some notes of my observations of what Axis2 is doing on the client side. (i) CommonsHTTPSender is the underlying handler that did the job of finally= =20 sending the content to the endpoint and also it did get back a valid=20 response as an inputstream (ii) Next in its processResponse() method commonsHTTPSender put the respons= e=20 inputstream into msgContext as the value of TRANSPORT_IN property. msgContext.getOperationContext().setProperty( MessageContext.TRANSPORT_IN, in); (iii) But nowhere after that, this TRANSPORT_IN property is read by anyone= =20 to read and update the call back. Shouldn't there be an invocation of receiver to read in the response=20 inputstream somewhere *after* engine.send() is fired. Can someone look into this or suggest some work around, if any, for now Thanks Jayachandra On 9/2/05, Ajith Ranabahu wrote:=20 >=20 > Hmmm.. > Perhaps the timeout is not enough. We definiltely have to introduce a=20 > configurable timeout here. BTW have you tried increasing the timeout ?=20 >=20 > On 9/2/05, jayachandra wrote:=20 > >=20 > > Hi! > > When I invoked a call.invokeBlocking() routine, internally it is=20 > > simulated using invokeNonBlocking() using a call back mechanism. Howeve= r,=20 > > even though the server sent a valid response (this I verified with TCPm= on)=20 > > the call back class is not getting properly updated with the result. Is= this=20 > > a known issue? Can someone clarify this. The error I am getting is...= =20 > > =20 > > Time out while waiting for the server to send the response > >=20 > > at org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking( > > InOutMEPClient.java:144) > >=20 > > at org.apache.axis2.clientapi.Call.invokeBlocking(Call.java:89) > >=20 > > at org.apache.axis2.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.jav= a > > :72) > > which essentially is arising from the code block in InOutMEPClient.java= which looks like follows. (Line=20 > > Numbers 135 to 146 of InOutMEPClient.invokeBlocking() method) :: > > while (!callback.isComplete()) { > > //wait till the reponse arrives > > if (index++ < 20) { > > try { > > Thread.sleep(100); > > } catch (InterruptedException e) {=20 > > throw new AxisFault(e); > > } > > } else { > > throw new AxisFault(Messages.getMessage("responseTimeOut")); << This is= =20 > > the reported error > > } > > } > > Any help in this regard will be much appreciated. > > Thanks > > Jayachandra > > --=20 > > -- Jaya=20 > >=20 >=20 >=20 >=20 > --=20 > Ajith Ranabahu=20 --=20 -- Jaya ------=_Part_1541_9976829.1125662856271 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Ajith and Saminda, thanks for replying. However, the problem still per= sists
@Ajith!
The response is almost instantaneous. Also to be on safe side I d= id make the while loop run hundred times longer by increasing the Thre= ad.sleep(100 times the original value). Still no luck!
@Saminda!
Saminda, nowhere in my application I was calling a call.close() at all= . Even in the execution flow of underlying Axis2 code nowhere call.close() = was called either. There is no close() method in the Call.java in my code b= ase. Did that get added very recently?
 
Some notes of my observations of what Axis2 is doing on the client sid= e.
(i) CommonsHTTPSender is the underlying handler that did the job of fi= nally sending the content to the endpoint and also it did get back a valid = response as an inputstream
(ii) Next in its processResponse() method commonsHTTPSender put the re= sponse inputstream into msgContext as the value of TRANSPORT_IN p= roperty.
           &nbs= p; msgContext.getOperationContext().setProperty(
    = ;            Message= Context.TRANSPORT_IN,
        &n= bsp;       in);
 
(iii) But nowhere after that, this TRANSPORT_IN property is read by an= yone to read and update the call back.
 
Shouldn't there be an invocation of receiver to read in the respo= nse inputstream somewhere *after* engine.send() is fired.
 
Can someone look into this or suggest some work around, if any, f= or now
 
Thanks
Jayachandra
 
On 9/2/05, A= jith Ranabahu <ajith.ran= abahu@gmail.com> wrote:=20
Hmmm..
Perhaps the timeout is= not enough. We definiltely have to introduce a configurable timeout here. = BTW have you tried increasing the timeout ?=20


On 9/2/05, j= ayachandra <jayachandra@gma= il.com=20 > wrote:=20
Hi!
 
When I invoked a call.invokeBlocking() routine, internally it is simul= ated using invokeNonBlocking() using a call back mechanism. However, even t= hough the server sent a valid response (this I verified with TCPmon) the ca= ll back class is not getting properly updated with the result. Is this= a known issue? Can someone clarify this. The error I am getting is...=20
 

Time out while waiting for the server to send the response

at org.apache.axis2.clientapi.InOutMEPClient.invokeBlocking(InOutMEPClie= nt.java:144)

at org.apache.axis2.clientapi.Call.invokeBlocking(Call.java:89)

at org.apache.axis2.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java= :72)

which essentially is arising from the code block in InOut= MEPClient.java which looks like follows.=20
(Line Numbers 135 to 146 of InOutMEPClient.invokeBlocking() method) ::=
 
         while (!callback.isCo= mplete()) {
          =       //wait till the reponse arrives
 &nb= sp;            =   if (index++ < 20) {
       =              tr= y {
           &n= bsp;            Thre= ad.sleep(100);
         &nb= sp;          } catch (Interrup= tedException e) {=20
            = ;            throw n= ew AxisFault(e);
         &= nbsp;          }
 &nbs= p;            &= nbsp; } else {
         &nb= sp;          throw new AxisFau= lt(Messages.getMessage("responseTimeOut"));  << This is the reported error            &= nbsp;   }
        &nbs= p;   }
Any help in this regard will be much appreciated.
 
Thanks
Jayachandra
--
-- Jaya



--
Ajith Ranabahu <= /blockquote>



--
-- Jaya=20 ------=_Part_1541_9976829.1125662856271--