Return-Path: Delivered-To: apmail-ws-axis-c-user-archive@www.apache.org Received: (qmail 84521 invoked from network); 28 Oct 2008 05:42:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Oct 2008 05:42:16 -0000 Received: (qmail 56745 invoked by uid 500); 28 Oct 2008 05:42:20 -0000 Delivered-To: apmail-ws-axis-c-user-archive@ws.apache.org Received: (qmail 56722 invoked by uid 500); 28 Oct 2008 05:42:20 -0000 Mailing-List: contact axis-c-user-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C User List" Reply-To: "Apache AXIS C User List" Delivered-To: mailing list axis-c-user@ws.apache.org Received: (qmail 56711 invoked by uid 99); 28 Oct 2008 05:42:20 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Oct 2008 22:42:20 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of supun06@gmail.com designates 209.85.198.241 as permitted sender) Received: from [209.85.198.241] (HELO rv-out-0708.google.com) (209.85.198.241) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Oct 2008 05:41:06 +0000 Received: by rv-out-0708.google.com with SMTP id c5so2293145rvf.28 for ; Mon, 27 Oct 2008 22:41:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=G6BxTAPiin8+ymYogai+WbBhBZi3ZmIvIMBUKCkd7vM=; b=dEhriFUwb5nRCc0BKr+ioDS3xNMsPm26mlldvW4ZKEIJipT7PZ6O/Fb9YT3516rg7G A5IJvJttBaJMF4tgEAU/Iqvwy3Dd92nCimTM18gS9XaRgRQ7j9fdHjUAiaFBD5xMkv3M CksMNZ3YxHPAv5N0JSK2XfUWGfGReskZ7l7jk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=ufpMbBud85+oDbXEkZVUOMtK1OCKbn3Aj7j1R9cARnDDbKCkAQpvgLSHA7svNtC2fb uaZ0srDshhzdKd52IF51zFBNHbs13/FY5N2vJVM4ePsdwlK9Z4cCfSeVCv2z2qUvXuiI CZF6XZSOp7c5OmHYYc+EEesKU3fYi4K6Kgjho= Received: by 10.141.170.10 with SMTP id x10mr3905283rvo.221.1225172495850; Mon, 27 Oct 2008 22:41:35 -0700 (PDT) Received: by 10.115.77.8 with HTTP; Mon, 27 Oct 2008 22:41:35 -0700 (PDT) Message-ID: Date: Tue, 28 Oct 2008 10:41:35 +0500 From: "Supun Kamburugamuva" To: "Apache AXIS C User List" Subject: Re: RE : RE : early env cleanup in asynchronous mode In-Reply-To: <08CEB0908629C64AB48367CEF2DD012901B1E3BC@smmtl102.axa.ca> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_32997_8457783.1225172495839" References: <08CEB0908629C64AB48367CEF2DD012901B1E3BC@smmtl102.axa.ca> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_32997_8457783.1225172495839 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Your service DLL gets unloaded only when you free the axis2_svc_client_t Supun. On Tue, Oct 28, 2008 at 1:59 AM, Lefrancois, Carl < Carl.Lefrancois@axa-canada.com> wrote: > I am (now) using the latest SVN version of Axis2/C. Unfortunately my > workstation is not equipped with a profiling tool. Maybe I can try a tri= al > version of BoundsChecker or some similar windows tool. > > Does anyone have an idea how I can delay the unloading of my DLL until my > code finishes executing while using Axis2/C in non-blocking mode? > > Carl > > -----Message d'origine----- > De : Manjula Peiris [mailto:manjula@wso2.com] > Envoy=E9 : lundi, octobre 27, 2008 11:05 > =C0 : Apache AXIS C User List > Objet : Re: RE : early env cleanup in asynchronous mode > > > What is the Axis2/C version you are using ? Can you ran the client throug= h > a memory profiling tool like valgrind and sent us the traces? > > > On Mon, 2008-10-27 at 10:14 -0400, Lefrancois, Carl wrote: > > Thanks for your reply, Supun > > > > I am hesitant to raise a Jira right away for two reasons: my version > > of Axis2/C is a few months old and I believe this behaviour may be > > right, and it is me who is calling the wrong function. Are we sure > > there is a bug here? > > > > Has anyone on the list made a client which uses the same env for many > > web service calls in asynchronous mode? Maybe in this mode we need to > > create a new env for each call? > > > > If I cannot find a better function and no one replies saying this > > should work, then a Jira could be a good idea. I think this > > functionality is something Axis2/C should support. > > > > > > -Carl > > > > > > -----Message d'origine----- > > De : Supun Kamburugamuva [mailto:supun06@gmail.com] > > Envoy=E9 : samedi, octobre 25, 2008 00:37 > > =C0 : Apache AXIS C User List > > Objet : Re: early env cleanup in asynchronous mode > > > > > > Recently I got this error. But not sure what is happening exactly. > > Need to have a thorough look. Please create a Jira. > > > > Supun. > > > > > > On Sat, Oct 25, 2008 at 12:27 AM, Lefrancois, Carl > > wrote: > > > > Hello all, > > > > No doubt my problem is due to user error, but I'm not sure what to try > > next to fix this problem. > > > > I am working to implement asynchronous mode client calls in a project > > which is already fairly mature and works well in blocking mode. When > > my DLL is loaded, I initialise the Axis2/C environment, and I free the > > environment on unload of the DLL. In between I can make many web > > service calls in blocking mode. > > > > What is happening now is that I used code from the echo_non_blocking.c > > sample to implement asynchronous mode but I get an access violation > > because the env is freed inside the function which calls my > > on_complete callback. After this function is completed my application > > still tries to use the same env. > > > > Can someone point out which function to call so I can make use of the > > asynchronous callbacks and still keep the same environment between > > calls? > > > > > > > > > > here is the code I am using: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =3D=3D > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > /* Send request */ > > svc_client =3D axis2_stub_get_svc_client (stub, axis2_env ); > > AXIS2_LOG_INFO(axis2_env->log, "\n---appel d'axis2 send receive > > INITI=C9---\n"); ******* I see this in the log > > axis2_svc_client_send_receive_non_blocking(svc_client, axis2_env, > > payload, callback); > > AXIS2_LOG_INFO(axis2_env->log, "\n---appel d'axis2 send receive > > RETOURN=C9---\n");******* I see this in the log > > > > /** Wait till callback is complete. Simply keep the parent thread > > running > > until our on_complete or on_error is invoked */ > > while (count < 15) > > { > > if (isComplete) > > { > > /* We are done with the callback */ > > break; > > } > > AXIS2_LOG_INFO(axis2_env->log, "\n---AXIS DORT---\n"); > > ******* I see this in the log > > AXIS2_SLEEP(1); > > AXIS2_LOG_INFO(axis2_env->log, "\n---AXIS SE R=C9VEILLE---\n")= ; > > ******* crash happens here after on_complete.. Axis2_env is freed! > > count++; > > } > > > > if (!(count < 15)) > > { > > AXIS2_LOG_INFO(axis2_env->log, "\n---appel d'axis2 send receive > > COMPL=C9T=C9 TIMEOUT---\n"); **** never see this in log > > *lpiEtatTraitement =3D ETAT_TRAITEMENT_TIMEOUT; > > } > > else > > { > > AXIS2_LOG_INFO(axis2_env->log, "\n---appel d'axis2 send receive > > COMPL=C9T=C9 OK---\n"); **** never see this in log > > } > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =3D=3D > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > > > > > axis2_status_t AXIS2_CALL OnRatingStubOpComplete( struct > > axis2_callback * callback, const axutil_env_t * env) > > { > > AXIS2_LOG_INFO(axis2_env->log, > > "\n---OnRatingStubOpComplete()---\n"); ******* I see this in > > the log > > isComplete =3D 1; > > return AXIS2_SUCCESS; > > } > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =3D=3D > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > > > ... In the trace execution goes into op_client.c here: > > > > if (args_list->callback) > > { > > axis2_callback_invoke_on_complete(args_list->callback, th_env, > > args_list->op_client->async_result); **** calls my on_complete > > function above > > axis2_callback_set_complete(args_list->callback, th_env, > > AXIS2_TRUE); > > } > > > > /* clean up memory */ > > axis2_async_result_free(args_list->op_client->async_result, > > th_env); > > > > axis2_op_ctx_free(op_ctx, th_env); > > > > th_pool =3D th_env->thread_pool; > > > > AXIS2_FREE(th_env->allocator, args_list); > > > > if (th_env) > > { > > axutil_free_thread_env(th_env); > > th_env =3D NULL; > > } > > axutil_thread_pool_exit_thread(th_pool, thd); > > ***** this frees my env! as shown in my log > > return NULL; > > } > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > =3D=3D > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > > > > > > > > > > So can someone tell me, is axis2_svc_client_send_receive_non_blocking > > the wrong function to use if I want to make many service calls with > > one environment? > > > > > > Carl Lefran=E7ois > > Analyste / Programmeur > > Larochelle Groupe Conseil > > > > T=E9l. : 514-282-6817, poste 4548 > > Couriel : carl.lefrancois@axa-canada.com > > _____ > > > > "Ce message est confidentiel, =E0 l'usage exclusif du destinataire > > ci-dessus et son contenu ne repr=E9sente en aucun cas un engagement de > > la part de AXA, sauf en cas de stipulation expresse et par =E9crit de l= a > > part de AXA. Toute publication, utilisation ou diffusion, m=EAme > > partielle, doit =EAtre autoris=E9e pr=E9alablement. Si vous n'=EAtes pa= s > > destinataire de ce message, merci d'en avertir imm=E9diatement > > l'exp=E9diteur." > > > > "This e-mail message is confidential, for the exclusive use of the > > addressee and its contents shall not constitute a commitment by AXA, > > except as otherwise specifically provided in writing by AXA. Any > > unauthorized disclosure, use or dissemination, either whole or > > partial, is prohibited. If you are not the intended recipient of the > > message, please notify the sender immediately." > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org > > For additional commands, e-mail: axis-c-user-help@ws.apache.org > > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org > For additional commands, e-mail: axis-c-user-help@ws.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org > For additional commands, e-mail: axis-c-user-help@ws.apache.org > > --=20 Software Engineer, WSO2 Inc http://wso2.org Web Services with Axis2/C http://wsaxc.blospot.com ------=_Part_32997_8457783.1225172495839 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Your service DLL gets unloaded only when you free the axis2_svc_client_t
Supun.

On Tue, Oct 28, 2008 at 1:59 = AM, Lefrancois, Carl <Carl.Lefrancois@axa-canada.com> wrote:
I am (now) using = the latest SVN version of Axis2/C.   Unfortunately my workstation is n= ot equipped with a profiling tool.  Maybe I can try a trial version of= BoundsChecker or some similar windows tool.

Does anyone have an idea how I can delay the unloading of my DLL until my c= ode finishes executing while using Axis2/C in non-blocking mode?

Carl

-----Message d'origine-----
De : Manjula Peiris [mailto:manjula@wso= 2.com]
Envoy=E9 : lundi, octobre 27, 2008 11:05
=C0 : Apache AXIS C User List
Objet : Re: RE : early env cleanup in asynchronous mode


What is the Axis2/C version you are using ? Can you ran the client through = a memory profiling tool like valgrind and sent us the traces?


On Mon, 2008-10-27 at 10:14 -0400, Lefrancois, Carl wrote:
> Thanks for your reply, Supun
>
> I am hesitant to raise a Jira right away for two reasons: my version > of Axis2/C is a few months old and I believe this behaviour may be
> right, and it is me who is calling the wrong function.  Are we su= re
> there is a bug here?
>
> Has anyone on the list made a client which uses the same env for many<= br> > web service calls in asynchronous mode?  Maybe in this mode we ne= ed to
> create a new env for each call?
>
> If I cannot find a better function and no one replies saying this
> should work, then a Jira could be a good idea.  I think this
> functionality is something Axis2/C should support.
>
>
> -Carl
>
>
> -----Message d'origine-----
> De : Supun Kamburugamuva [mailto:= supun06@gmail.com]
> Envoy=E9 : samedi, octobre 25, 2008 00:37
> =C0 : Apache AXIS C User List
> Objet : Re: early env cleanup in asynchronous mode
>
>
> Recently I got this error. But not sure what is happening exactly.
> Need to have a thorough look. Please create a Jira.
>
> Supun.
>
>
> On Sat, Oct 25, 2008 at 12:27 AM, Lefrancois, Carl
> <Carl.Lefrancois@= axa-canada.com> wrote:
>
> Hello all,
>
> No doubt my problem is due to user error, but I'm not sure what to= try
> next to fix this problem.
>
> I am working to implement asynchronous mode client calls in a project<= br> > which is already fairly mature and works well in blocking mode.  = When
> my DLL is loaded, I initialise the Axis2/C environment, and I free the=
> environment on unload of the DLL.  In between I can make many web=
> service calls in blocking mode.
>
> What is happening now is that I used code from the echo_non_blocking.c=
> sample to implement asynchronous mode but I get an access violation > because the env is freed inside the function which calls my
> on_complete callback.  After this function is completed my applic= ation
> still tries to use the same env.
>
> Can someone point out which function to call so I can make use of the<= br> > asynchronous callbacks and still keep the same environment between
> calls?
>
>
>
>
> here is the code I am using:
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =3D=3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D
>      /* Send request */
>      svc_client =3D axis2_stub_get_svc_client (stub, ax= is2_env );
>      AXIS2_LOG_INFO(axis2_env->log, "\n---appel= d'axis2 send receive
> INITI=C9---\n");  ******* I see this in the log
>      axis2_svc_client_send_receive_non_blocking(svc_cli= ent, axis2_env,
> payload, callback);
>      AXIS2_LOG_INFO(axis2_env->log, "\n---appel= d'axis2 send receive
> RETOURN=C9---\n");******* I see this in the log
>
>      /** Wait till callback is complete. Simply keep th= e parent thread
> running
>         until our on_complete or on_error is invok= ed */
>      while (count < 15)
>      {
>          if (isComplete)
>          {
>              /* We are done with th= e callback */
>              break;
>          }
>          AXIS2_LOG_INFO(axis2_env->log, &q= uot;\n---AXIS DORT---\n");
> ******* I see this in the log
>          AXIS2_SLEEP(1);
>          AXIS2_LOG_INFO(axis2_env->log, &q= uot;\n---AXIS SE R=C9VEILLE---\n");
> ******* crash happens here after on_complete.. Axis2_env is freed!
>          count++;
>      }
>
>      if (!(count < 15))
>      {
>        AXIS2_LOG_INFO(axis2_env->log, "\n-= --appel d'axis2 send receive
> COMPL=C9T=C9 TIMEOUT---\n");   **** never see this in log >        *lpiEtatTraitement =3D ETAT_TRAITEMENT_TIME= OUT;
>      }
>      else
>      {
>        AXIS2_LOG_INFO(axis2_env->log, "\n-= --appel d'axis2 send receive
> COMPL=C9T=C9 OK---\n");        **** never see= this in log
>      }
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =3D=3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D
>
>
> axis2_status_t AXIS2_CALL OnRatingStubOpComplete(     struct=
> axis2_callback * callback,     const axutil_env_t * env)
> {
>    AXIS2_LOG_INFO(axis2_env->log,
> "\n---OnRatingStubOpComplete()---\n");       =      ******* I see this in
> the log
>    isComplete =3D 1;
>    return AXIS2_SUCCESS;
> }
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =3D=3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D
>
> ... In the trace execution goes into op_client.c here:
>
>    if (args_list->callback)
>    {
>        axis2_callback_invoke_on_complete(args_list= ->callback, th_env,
> args_list->op_client->async_result);    **** calls my = on_complete
> function above
>        axis2_callback_set_complete(args_list->c= allback, th_env,
> AXIS2_TRUE);
>    }
>
>    /* clean up memory */
>    axis2_async_result_free(args_list->op_client->async= _result,
> th_env);
>
>    axis2_op_ctx_free(op_ctx, th_env);
>
>    th_pool =3D th_env->thread_pool;
>
>    AXIS2_FREE(th_env->allocator, args_list);
>
>    if (th_env)
>    {
>        axutil_free_thread_env(th_env);
>        th_env =3D NULL;
>    }
>    axutil_thread_pool_exit_thread(th_pool, thd);
> ***** this frees my env! as shown in my log
>    return NULL;
> }
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> =3D=3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D
>
>
>
>
> So can someone tell me, is axis2_svc_client_send_receive_non_blocking<= br> > the wrong function to use if I want to make many service calls with > one environment?
>
>
> Carl Lefran=E7ois
> Analyste / Programmeur
> Larochelle Groupe Conseil
>
> T=E9l. :      514-282-6817, poste 4548
> Couriel : carl.lefra= ncois@axa-canada.com
>  _____
>
> "Ce message est confidentiel, =E0 l'usage exclusif du destina= taire
> ci-dessus et son contenu ne repr=E9sente en aucun cas un engagement de=
> la part de AXA, sauf en cas de stipulation expresse et par =E9crit de = la
> part de AXA. Toute publication, utilisation ou diffusion, m=EAme
> partielle, doit =EAtre autoris=E9e pr=E9alablement. Si vous n'=EAt= es pas
> destinataire de ce message, merci d'en avertir imm=E9diatement
> l'exp=E9diteur."
>
> "This e-mail message is confidential, for the exclusive use of th= e
> addressee and its contents shall not constitute a commitment by AXA, > except as otherwise specifically provided in writing by AXA. Any
> unauthorized disclosure, use or dissemination, either whole or
> partial, is prohibited. If you are not the intended recipient of the > message, please notify the sender immediately."
>
> ---------------------------------------------------------------------<= br> > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
>
>
>


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


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




--
Software En= gineer, WSO2 Inc
http://wso2.org
Web = Services with Axis2/C http://wsaxc.blo= spot.com

------=_Part_32997_8457783.1225172495839--