1

を使用してアプリケーションからアダプタに呼び出すときのタイムアウトを変更するにはどうすればよいWL.Client.invokeProcedureですか?

次の投稿の回答を読みましたが、うまくいきません: Worklight でアダプターのプロシージャーのタイムアウト値を増やす方法は?

私の構成:

initOptions.js

timeout: 600000


アダプター XML

<procedure name="addInsertarMensaje" securityTest="wl_unprotected" requestTimeoutInSeconds="600">


アダプターの呼び出し

var timeout = 600000;
var invocationOptions = {
  onSuccess: successSynchDoc,
  onFailure: errorSynchDoc,
  invocationContext: context,
  timeout: timeout
};


Android LogCat:

12-02 11:23:04.603: D/Mapfre(21661): MyCustomTrace: Invoking the adapter

12-02 11:23:05.564: D/Mapfre(21661): Request [http://192.168.1.39:10080/xxx/apps/services/api/Mapfre/android/query]

12-02 11:23:26.214: D/Mapfre(21661): MyCustomTrace: After invoking the adapter

12-02 11:24:29.297: E/Mapfre(21661): [http://192.168.1.39:10080/xxx/apps/services/api/Mapfre/android/query] Host is not responsive. Try to manually access the URL through the android emulator browser to verify connectivity.


最大値はありますか?

これらは各部の痕跡です。

アプリ内:

12-02 14:30:24.473: D/Mapfre(8641): Custom Trace. Just befor WL.Client.invokeProcedure
12-02 14:30:25.103: D/Mapfre(8641): Request [http://192.168.1.39:10080/xxx/apps/services/api/Mapfre/android/query]
12-02 14:31:42.670: E/Mapfre(8641): [http://192.168.1.39:10080/xxx/apps/services/api/Mapfre/android/query] Host is not responsive. Try to manually access the URL through the android emulator browser to verify connectivity.

アプリからの呼び出しを受信するアダプターで:

[2/12/13 14:31:45:224 CET] 000000bf ht.integration.js.JavaScriptIntegrationLibraryImplementation I Custom Trace. Into Adapter implementation.

ホストからの応答を受信するアダプターで:

[2/12/13 14:33:34:714 CET] 000000bf ht.integration.js.JavaScriptIntegrationLibraryImplementation I Custom Trace. Received id: 3
4

1 に答える 1

0
  • アプリケーションがアダプターを呼び出していません。基本図:

Application << >>[ Worklight Server << >> Adapter ]<< >> Backend

  • また、Worklight がタイムアウトに課す最大値はありません。デフォルト値がありますが、3 つの場所すべてで変更しています。

簡単な説明:

  1. initOptions.jsでは、このプロパティーtimeoutは、アプリが Worklight Server への接続を待機する時間に関連しています。

  2. アダプターの XMLでは、このrequestTimeoutInSecondsプロパティーは Worklight Server がバックエンドからの応答を待機する時間に関連しています。

  3. 呼び出しオプションでは、このtimeoutプロパティーは、アプリが Worklight Server からの応答を待機する時間に関連しています。

あなたの場合、エラーは、アダプター・プロシージャーを呼び出すどころか、Worklight Server に到達しなかったことを示しています。

  • サーバーにアクセスできることを確認します。エラー メッセージの指示に従ってください - デバイスのモバイル ブラウザに Worklight Console をロードしてみてください
  • デバイスとサーバーが同じネットワーク内にあることを確認します
  • ファイアウォール (有効になっている場合) が重要なポートやアドレスをブロックしていないことを確認します

Worklight Server に到達した場合、明らかに 600 秒経過していないため、ホストに到達できないと考えられます。正しいホスト アドレスを指していること、および接続の成功を妨げるものがないことを確認してください。

ホストが見つかり、パスまたはネットワークで何かが正しくない場合、応答が返されますが、600 秒待機しません。

于 2013-12-02T11:32:58.607 に答える