When I enable ws-addressing and set "Use Separate Listener", as you
recommended, my client requests fail with the following:

 

2008-09-29 14:18:46,768 [ERROR] (ClientUtils.java : inferInTransport :
117) > An unknown transport called https exists.

 

Note that I am using https for my client requests.

 

Is there some additional coding I need to do?

 

From: keith chapman [mailto:[EMAIL PROTECTED] 
Sent: Monday, September 29, 2008 2:00 PM
To: axis-user@ws.apache.org
Subject: Re: What is the advantage of using async clients if Axis
creates a wait thread for every request?

 

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/StudentService122271
0373364_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: axis-user@ws.apache.org
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: axis-user@ws.apache.org

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