The following is a sample Request that I sent. You would see a messageID for each request. This ID will be used to correlate the request and response.
Thanks, Keith. POST /axis2/services/StudentService HTTP/1.1 Content-Type: text/xml; charset=UTF-8 SOAPAction: urn:getStudents User-Agent: Axis2 Host: 127.0.0.1 Transfer-Encoding: chunked 208 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:To>http://localhost:8081/axis2/services/StudentService </wsa:To> <wsa:ReplyTo> <wsa:Address> http://192.168.1.3:6060/axis2/services/StudentService1222710373364_1/ </wsa:Address> </wsa:ReplyTo> <wsa:MessageID>urn:uuid:23E9D68E8168C3C3F71222710374739</wsa:MessageID> <wsa:Action>urn:getStudents</wsa:Action> </soapenv:Header> <soapenv:Body /> </soapenv:Envelope>0 On Mon, Sep 29, 2008 at 11:24 PM, Franklin, Allen < [EMAIL PROTECTED]> wrote: > How do I match up responses with their corresponding requests in my > client? > > It seems like I need to be able to send an ID in the request and have the > ID returned in the callback so I can do the matching. > > I don't see this mechanism. > > > > > > *From:* keith chapman [mailto:[EMAIL PROTECTED] > *Sent:* Monday, September 29, 2008 1:47 PM > > *To:* [email protected] > *Subject:* Re: What is the advantage of using async clients if Axis > creates a wait thread for every request? > > > > When you send out the first request the server would spin up in the client > side and it will not die. Hence it will be used to listen for responses of > subsequent request. > > In order to use a separate listener at the client side you just need to do > this, > > stub._getServiceClient().engageModule("addressing"); > stub._getServiceClient().getOptions().setUseSeparateListener(true); > > Axis2 would handle everything else for you. > > Thanks, > Keith. > > On Mon, Sep 29, 2008 at 11:06 PM, Franklin, Allen < > [EMAIL PROTECTED]> wrote: > > Would the technique that you are suggesting require the client to listen on > a different/separate TCP/IP port for every outstanding request? > > > > *From:* keith chapman [mailto:[EMAIL PROTECTED] > > *Sent:* Monday, September 29, 2008 1:15 PM > *To:* [email protected] > > *Subject:* Re: What is the advantage of using async clients if Axis > creates a wait thread for every request? > > > > Axis2 client support two levels of async behavior. One of them is the one > you've explained. This is something like pseudo async. The other is where > you send a request and then listen on a separate port (by spinning up a > simple http server on the client) for the response (It is compulsory that > you use WS-Addressing for this to work). This does not block a thread. > > Thanks, > Keith. > > On Mon, Sep 29, 2008 at 10:38 PM, Franklin, Allen < > [EMAIL PROTECTED]> wrote: > > It is my understanding that Axis2 v1.4 creates a thread to wait for the > reply for every async client request. > > What is the advantage (on the client side) of using Axis2 > async/non-blocking clients if Axis creates a wait thread for every request? > > In fact the blocking call seems more efficient because it saves Axis the > trouble of having to create another thread. > > There appears to be a cost of one thread per outstanding for the duration > of the call with either way, blocking or non-blocking. > > > > > -- > Keith Chapman > Senior Software Engineer > WSO2 Inc. > Oxygenating the Web Service Platform. > http://wso2.org/ > > blog: http://www.keith-chapman.org > > > > > -- > Keith Chapman > Senior Software Engineer > WSO2 Inc. > Oxygenating the Web Service Platform. > http://wso2.org/ > > blog: http://www.keith-chapman.org > -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
