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

Reply via email to