You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Emanuele Benedetti <be...@mclink.it> on 2010/09/20 22:19:55 UTC

Multiple svc_client

Ciao C-user

I have a problem: I'm writing a client that sends soap messages with axis2. I need send messages to different addresses based on the message type.

So in my client application I've created an axis2c environment  with axutil_env_create_all and multiple axis2 option with
axis2_options_create, one for each address. I've created and attach an end point reference with axis2_endpoint_ref_create and
axis2_options_set_to and, finally I've created a service client with axis2_svc_client_create and attached to the option with
axis2_svc_client_set_options.

When is time to send a message I choose the correct svc_client and send a message with axis2_svc_client_send_receive. I reuse the svc_client
for every message (so i create the various svc_client objects at the beginning of the program and use them when needed).

If I use only one svc_client all is working fine but as soon as I started to send messages to more than one svc_client after few messages the
program crashes trying to free something inside axis2_svc_client_send_receive.

Is it not possible to use different svc_client object at the same time? I had to free and create a svc_client with the correct address for
every request?

Here there is the backtrace:

#0  0xb7070950 in free () from /lib/i686/cmov/libc.so.6
#1  0xb71fdad2 in xmlCharEncCloseFunc () from /usr/lib/libxml2.so.2
#2  0xb722d64f in xmlFreeParserInputBuffer () from /usr/lib/libxml2.so.2
#3  0xb72022b3 in xmlFreeInputStream () from /usr/lib/libxml2.so.2
#4  0xb72022f8 in xmlFreeParserCtxt () from /usr/lib/libxml2.so.2
#5  0xb72c08c3 in xmlFreeTextReader () from /usr/lib/libxml2.so.2
#6  0xb73d9bed in axis2_libxml2_reader_wrapper_free (parser=0xc280d48, env=0x119a31a0) at libxml2_reader_wrapper.c:518
#7  0xb73d89d8 in axiom_xml_reader_free (parser=0xc280d48, env=0x119a31a0) at ../xml_reader.c:34
#8  0xb73f3a9a in axiom_stax_builder_free (om_builder=0x104fcb68, env=0x119a31a0) at om_stax_builder.c:911
#9  0xb73fe536 in axiom_soap_builder_free (soap_builder=0xd93ff40, env=0x119a31a0) at soap_builder.c:198
#10 0xb73fcb8f in axiom_soap_envelope_free (soap_envelope=0xc38b7e8, env=0x119a31a0) at soap_envelope.c:178
#11 0xb73b2f7d in axis2_msg_ctx_free (msg_ctx=0xc02b8d8, env=0x119a31a0) at msg_ctx.c:423
#12 0xb73b3a4a in axis2_op_ctx_free (op_ctx=0x11d35f20, env=0x119a31a0) at op_ctx.c:164
#13 0xb73ba42a in axis2_op_client_free (op_client=0xd0a6ce8, env=0x119a31a0) at op_client.c:641
#14 0xb73bc354 in axis2_svc_client_create_op_client (svc_client=0x119bd870, env=0x119a31a0, op_qname=0xb610bf40) at svc_client.c:963
#15 0xb73bcf16 in axis2_svc_client_send_receive_with_op_qname (svc_client=0x119bd870, env=0x119a31a0, op_qname=0xb610bf40, payload=0xb6120238) at svc_client.c:726
#16 0xb73bd1d3 in axis2_svc_client_send_receive (svc_client=0x119bd870, env=0x119a31a0, payload=0xb6120238) at svc_client.c:830

Thank you for the help.


This is

--

Saluti
Emanuele

mailto:benem@mclink.it


---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


RE: Multiple svc_client

Posted by Daniel Eduardo Salas Useche <da...@pitt.edu>.
Please I need to be removed from this list, the command to be removed is not
working.

Thanks.

--------------------------------------------
DANIEL EDUARDO SALAS USECHE
Civil and environmental Engineering
University of Pittsburgh


-----Original Message-----
From: Emanuele Benedetti [mailto:benem@mclink.it] 
Sent: Monday, September 20, 2010 4:20 PM
To: c-user@axis.apache.org
Subject: Multiple svc_client

Ciao C-user

I have a problem: I'm writing a client that sends soap messages with axis2.
I need send messages to different addresses based on the message type.

So in my client application I've created an axis2c environment  with
axutil_env_create_all and multiple axis2 option with
axis2_options_create, one for each address. I've created and attach an end
point reference with axis2_endpoint_ref_create and
axis2_options_set_to and, finally I've created a service client with
axis2_svc_client_create and attached to the option with
axis2_svc_client_set_options.

When is time to send a message I choose the correct svc_client and send a
message with axis2_svc_client_send_receive. I reuse the svc_client
for every message (so i create the various svc_client objects at the
beginning of the program and use them when needed).

If I use only one svc_client all is working fine but as soon as I started to
send messages to more than one svc_client after few messages the
program crashes trying to free something inside
axis2_svc_client_send_receive.

Is it not possible to use different svc_client object at the same time? I
had to free and create a svc_client with the correct address for
every request?

Here there is the backtrace:

#0  0xb7070950 in free () from /lib/i686/cmov/libc.so.6
#1  0xb71fdad2 in xmlCharEncCloseFunc () from /usr/lib/libxml2.so.2
#2  0xb722d64f in xmlFreeParserInputBuffer () from /usr/lib/libxml2.so.2
#3  0xb72022b3 in xmlFreeInputStream () from /usr/lib/libxml2.so.2
#4  0xb72022f8 in xmlFreeParserCtxt () from /usr/lib/libxml2.so.2
#5  0xb72c08c3 in xmlFreeTextReader () from /usr/lib/libxml2.so.2
#6  0xb73d9bed in axis2_libxml2_reader_wrapper_free (parser=0xc280d48,
env=0x119a31a0) at libxml2_reader_wrapper.c:518
#7  0xb73d89d8 in axiom_xml_reader_free (parser=0xc280d48, env=0x119a31a0)
at ../xml_reader.c:34
#8  0xb73f3a9a in axiom_stax_builder_free (om_builder=0x104fcb68,
env=0x119a31a0) at om_stax_builder.c:911
#9  0xb73fe536 in axiom_soap_builder_free (soap_builder=0xd93ff40,
env=0x119a31a0) at soap_builder.c:198
#10 0xb73fcb8f in axiom_soap_envelope_free (soap_envelope=0xc38b7e8,
env=0x119a31a0) at soap_envelope.c:178
#11 0xb73b2f7d in axis2_msg_ctx_free (msg_ctx=0xc02b8d8, env=0x119a31a0) at
msg_ctx.c:423
#12 0xb73b3a4a in axis2_op_ctx_free (op_ctx=0x11d35f20, env=0x119a31a0) at
op_ctx.c:164
#13 0xb73ba42a in axis2_op_client_free (op_client=0xd0a6ce8, env=0x119a31a0)
at op_client.c:641
#14 0xb73bc354 in axis2_svc_client_create_op_client (svc_client=0x119bd870,
env=0x119a31a0, op_qname=0xb610bf40) at svc_client.c:963
#15 0xb73bcf16 in axis2_svc_client_send_receive_with_op_qname
(svc_client=0x119bd870, env=0x119a31a0, op_qname=0xb610bf40,
payload=0xb6120238) at svc_client.c:726
#16 0xb73bd1d3 in axis2_svc_client_send_receive (svc_client=0x119bd870,
env=0x119a31a0, payload=0xb6120238) at svc_client.c:830

Thank you for the help.


This is

--

Saluti
Emanuele

mailto:benem@mclink.it


---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


Re: Multiple svc_client

Posted by Emanuele Benedetti <be...@mclink.it>.
         
Hi Damitha

Thank you for you answer.

Damitha Kumarage wrote:
DK> You can use the same service client with different endpoints and
DK> payloads. Are you using multiple threads ?

Yes I use multiple threads but all axis2c code is called from one thread.

Different endpoint means that I have to create a single service client and attach different end point depending on where I need to send the
message?

I'll try it. Thank you again.

--

Saluti
Emanuele


---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


Re: Multiple svc_client

Posted by Damitha Kumarage <da...@wso2.com>.
Emanuele Benedetti wrote:
> Ciao C-user
>
> I have a problem: I'm writing a client that sends soap messages with axis2. I need send messages to different addresses based on the message type.
>
> So in my client application I've created an axis2c environment  with axutil_env_create_all and multiple axis2 option with
> axis2_options_create, one for each address. I've created and attach an end point reference with axis2_endpoint_ref_create and
> axis2_options_set_to and, finally I've created a service client with axis2_svc_client_create and attached to the option with
> axis2_svc_client_set_options.
>
> When is time to send a message I choose the correct svc_client and send a message with axis2_svc_client_send_receive. I reuse the svc_client
> for every message (so i create the various svc_client objects at the beginning of the program and use them when needed).
>
> If I use only one svc_client all is working fine but as soon as I started to send messages to more than one svc_client after few messages the
> program crashes trying to free something inside axis2_svc_client_send_receive.
>
> Is it not possible to use different svc_client object at the same time? I had to free and create a svc_client with the correct address for
> every request?
>   
You can use the same service client with different endpoints and 
payloads. Are you using multiple threads ?

Damitha
> Here there is the backtrace:
>
> #0  0xb7070950 in free () from /lib/i686/cmov/libc.so.6
> #1  0xb71fdad2 in xmlCharEncCloseFunc () from /usr/lib/libxml2.so.2
> #2  0xb722d64f in xmlFreeParserInputBuffer () from /usr/lib/libxml2.so.2
> #3  0xb72022b3 in xmlFreeInputStream () from /usr/lib/libxml2.so.2
> #4  0xb72022f8 in xmlFreeParserCtxt () from /usr/lib/libxml2.so.2
> #5  0xb72c08c3 in xmlFreeTextReader () from /usr/lib/libxml2.so.2
> #6  0xb73d9bed in axis2_libxml2_reader_wrapper_free (parser=0xc280d48, env=0x119a31a0) at libxml2_reader_wrapper.c:518
> #7  0xb73d89d8 in axiom_xml_reader_free (parser=0xc280d48, env=0x119a31a0) at ../xml_reader.c:34
> #8  0xb73f3a9a in axiom_stax_builder_free (om_builder=0x104fcb68, env=0x119a31a0) at om_stax_builder.c:911
> #9  0xb73fe536 in axiom_soap_builder_free (soap_builder=0xd93ff40, env=0x119a31a0) at soap_builder.c:198
> #10 0xb73fcb8f in axiom_soap_envelope_free (soap_envelope=0xc38b7e8, env=0x119a31a0) at soap_envelope.c:178
> #11 0xb73b2f7d in axis2_msg_ctx_free (msg_ctx=0xc02b8d8, env=0x119a31a0) at msg_ctx.c:423
> #12 0xb73b3a4a in axis2_op_ctx_free (op_ctx=0x11d35f20, env=0x119a31a0) at op_ctx.c:164
> #13 0xb73ba42a in axis2_op_client_free (op_client=0xd0a6ce8, env=0x119a31a0) at op_client.c:641
> #14 0xb73bc354 in axis2_svc_client_create_op_client (svc_client=0x119bd870, env=0x119a31a0, op_qname=0xb610bf40) at svc_client.c:963
> #15 0xb73bcf16 in axis2_svc_client_send_receive_with_op_qname (svc_client=0x119bd870, env=0x119a31a0, op_qname=0xb610bf40, payload=0xb6120238) at svc_client.c:726
> #16 0xb73bd1d3 in axis2_svc_client_send_receive (svc_client=0x119bd870, env=0x119a31a0, payload=0xb6120238) at svc_client.c:830
>
> Thank you for the help.
>
>
> This is
>
> --
>
> Saluti
> Emanuele
>
> mailto:benem@mclink.it
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
> For additional commands, e-mail: c-user-help@axis.apache.org
>
>
>   


-- 
__________________________________________________________________

Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/

blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org