[
https://issues.apache.org/jira/browse/AXIS2C-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Damitha Kumarage reassigned AXIS2C-1189:
----------------------------------------
Assignee: Damitha Kumarage
> svc_client_send_receive could be improved significantly in blocking dual
> channel case.
> --------------------------------------------------------------------------------------
>
> Key: AXIS2C-1189
> URL: https://issues.apache.org/jira/browse/AXIS2C-1189
> Project: Axis2-C
> Issue Type: Bug
> Environment: all
> Reporter: Damitha Kumarage
> Assignee: Damitha Kumarage
>
> I observered that in svc_client_send_receive function's blocking dual related
> code section could be improved.
> Currently after establishing the callback and starting listener manager it
> repeatedly call op_client_receive function in a loop. It in tern call engine
> receive.It then extract the response soap envelope from the response message
> context passed to engine receive. But this is redundant and expensive calls
> to engine_receive. By this time, the callback we passed already contain the
> response soap envelope. What we need is just the following code to get the
> response envelope instead of having some unneccessary complexity.
> index = axis2_options_get_timeout_in_milli_seconds(svc_client->options, env)
> / 10;
> while(!axis2_callback_get_complete(callback, env))
> {
> if(index-- >= 0)
> {
> AXIS2_USLEEP(10000);
> }
> else
> {
> AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RESPONSE_TIMED_OUT,
> AXIS2_FAILURE);
> AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response time out");
> }
>
> soap_envelope = axis2_callback_get_envelope(callback, env);
> }
> Note that I use the function axis2_callback_get_complete() function as the
> loop condition.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]