我有一个 WSDL 文件,然后我使用AXIS2C WSDL2C
工具来创建客户端项目。
我修改了axis2.xml
文件。
在<axisconfig name="Axis2/C">
之后的开头添加了这一行:
<parameter name="SO_TIMEOUT">8000</parameter>
我现在可以设置超时。 我怎么能在我的代码中处理它? 我的意思是我怎么知道我有连接超时或套接字超时或服务器响应正常。
问题更新: here是我项目的链接:
答案 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);