It is possible using addressing and the proper addressing header
information and configuration records both at client and at server.

 

i.e. in the header you need to tell the service which client is calling
(request-id) and about the listener/port to contact as well as the
call-back-routine to be called.

 

The server once finished needs to know to which request-id this
response-id belongs to; but that is not all. it needs to know
clinet-host:port and client-call-back-routine processing the response.

 

It is not so simple; hence I encourage you to go through the various
echo examples AND OTHERS, client and server side, unless you understand
the asynchronous technology field. Keep in mind you might have an
asynchronous working transport AND you may have an asynchronous working
client/server. This is not the same.

 

your client might send a request, the server receives it, and allows the
thread to return before it starts working

 

your client may hand over a request to the transport and continue, the
transport sends the request, the server accepts it and allows the thread
to return, the transport at the client side is happy and maybe signals
that o the client. Later on the server does the same with the response
in reverse direction.

 

This are two scenarios with many wrinkle and challenge to master.

 

basically, the service, when it has the result ready after some time,
needs to know the host:port numbers and a call-back-routine in the
client to contact; 

and there is a need to know for the infrastructure axis2-engine to which
request this response belongs to, given your client has multiple
outstanding request belonging to request sent some time ago.

 

Again: starts simple, keep subsystems small, test it, and integrate when
all subsystems works.

 

Unless you master your asynchronously working axis2 client talking to
your asynchronous working web service, you don't need more than one
later 2 pc's, and yes: long lasting sessions might be another issue to
look at.

 

Josef

 

 

Von: zack Hasit [mailto:zackha...@gmail.com] 
Gesendet: Dienstag, 19. Februar 2013 18:23
An: Apache AXIS C User List
Betreff: Re: Axis 2C embedded server

 

Hi,



I looked at "echo_non_blocking_dual.c". It is a client implementation to
call the service. I was looking for server side. Ill try to explain the
scenario....

When the echo service gets called following function gets called on
server side : axis2_echo_echo. In this function the node "axiom_node_t
*ret_node" is returned. What I really want to do is that I want to
modify axis2_echo_echo to send the text message (with additional header
info) to another server (lets call this server SERVER-A) using activeMQ
and then go and service next echo request from client and forget about
this one for now.

Meanwhile I'll spawn another thread  (in my application) to read
responses from SERVER-A asynchronously (via activeMQ). Since responses
would be out of order ill identify them based on headerinfo and ill know
where this response needs to be sent to. I want to then send this to
correct client.

Please let me know if this is possible.

 

On Tue, Feb 19, 2013 at 4:47 AM, Stadelmann Josef
<josef.stadelm...@axa-winterthur.ch> wrote:

seek this file in your axis2/c kit "echo_non_blocking_dual.c"

not under samples but user guide clients ... J

 

And Axis2/C is at version 1.6.0, and the trunk sources have entries from
January 2013, so there is work going on.

i.e.
http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk/src/core/transpo
rt/http is brand new.

 

Josef

 

Von: zack Hasit [mailto:zackha...@gmail.com] 
Gesendet: Dienstag, 19. Februar 2013 02:45
An: c-user@axis.apache.org
Betreff: Axis 2C embedded server

 

 

Hi, I am planning to use Axis 2C. Could someone please help answer this.

1. Is the standalone http server (simple http server) good for
production situation? I ask because it maybe for for testing purposes
only. Any performance concerns with it ?

2. Is Axis being maintained actively ? I ask because there hasn't been a
new release since 2009 ?

3. I need to break request and response in two separate functions. Is
that possible. In samples I see echo implementation where one method
implements service and returns the node to send response. I don't want
to send response on return but at a later time after I do do some other
processing aynchronously. Is there any sample for that ?

Please let me know if there is another place to ask this.

 

Thanks

 

 

Reply via email to