如何在axis2c客户端中设置客户端超时

时间:2015-03-09 07:58:40

标签: timeout client axis2c

我有一个 WSDL 文件,然后我使用AXIS2C WSDL2C工具来创建客户端项目。

我修改了axis2.xml文件。 在<axisconfig name="Axis2/C">之后的开头添加了这一行:

<parameter name="SO_TIMEOUT">8000</parameter>

我现在可以设置超时。 我怎么能在我的代码中处理它? 我的意思是我怎么知道我有连接超时或套接字超时或服务器响应正常。

问题更新: here是我项目的链接:

1 个答案:

答案 0 :(得分:0)

在调用客户端后,您应该从env->error->status_code分析error code

axiom_node_t* resp = axis2_svc_client_send_receive(client, env, payload);

switch (env->error->status_code)
{
case AXIS2_ERROR_RESPONSE_TIMED_OUT:
  // Timeout
    break;

// other errors goes here ...
}

此外,如果您想以编程方式设置超时:

axis2_options_t* opt = axis2_options_create(env)
axis2_options_set_timeout_in_milli_seconds(opt, env, 8000);
axis2_svc_client_set_options(client, env, opt);