0

WSDLファイルがあり、AXIS2C WSDL2Cツールを使用してクライアント プロジェクトを作成しました。

axis2.xmlファイルを修正しました。<axisconfig name="Axis2/C">の後に次の行を最初に追加しました。

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

タイムアウトを設定できるようになりました。コードでどのように処理できますか? つまり、接続タイムアウトまたはソケット タイムアウトが発生したこと、またはサーバーが適切に応答したことをどのように知ることができますか。

質問の更新: ここに私のプロジェクトへのリンクがあります:

4

1 に答える 1

0

クライアントを呼び出した後、エラー コードを分析する必要があります。env->error->status_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);
于 2015-03-10T06:56:55.327 に答える