【Tips】Connectorを利用したロボットがDSで起動できない
BizRobo!もVer11がリリースされて3ヶ月ほど経ちましたが、利用されているユーザ様はいかがでしょうか?
私もプログラマーの端くれのため、SalesforceのNode.jsでワンタイムパス発行のConnectorを作成してみました。
ライブラリの容量問題は気になるところですが、簡単に実装できてBizRobo!だけでは今まで手の届かなかった痒いところまでカバーできそうですね。
さて本題ですが、今回は開発環境(DS)で「Connectorを利用しているロボットがエラーで動作確認(デバッグも)できない」ことがあったため、解決方法のTIPSです。
同じ様な現象に遭遇したという方がいらっしゃれば、参考にしていただけると幸いです。
ロボットってコピーして使い回すことって多いですよね?
多くないでしょうか?
弊社では、プロジェクトを開発用/本番用で分けて運用しているため、開発⇔本番間でロボットをコピーした際に発生しました。
結論からお伝えすると、
Connectorを利用したロボットのコピー後にロボットを実行(デバッグも)できない場合は
「AppData内のTempフォルダにあるConnectorキャッシュを削除」 しましょう。
現象としては、DSでConnectorを利用したロボットを表示し、「実行の準備」をクリックすると、Interbal Errorなるダイアログが表示されます。
表示されるエラー内容は、BizRobo!のナレッジベースで紹介されている「言語設定が日本語のDSでプロジェクト名やロボットファイル名に"&"が含まれている場合、Internal Errorが発生する」と同じとなります。
しかし、これだけだとどのように対応したらいいものか、判断が付きません。
そういう時は、DSの「ログ」ファイルに何か情報が記録されていないか確認しましょう。
普段の利用ではログファイルなど見向きもしないかと思いますが、ツールがエラーで動かない、動作がおかしい等の現象が発生した場合、画面に表示されているエラー情報より詳しいことが記録されていることもありますので、忘れずにチェックしましょう。
ログファイルもAppData内の「C:¥Users¥ユーザ名¥AppData¥Local¥Kofax RPA¥11.1.0.4_448¥Logs¥」にあります。
※「ユーザ名」「11.1.0.4_448」の箇所は、利用されている環境、BizRobo!バージョンにより異なるため、ご自身の環境に応じて読み替えてください。
すると、以下のような記述がありました。
「Error loading connector」とありますね。
まさしくこれですね。
エラーを簡単に説明すると、「AppDataのTempフォルダ(一時領域)にコピーされたはずのConnectorのZIPファイルが見つからなくて、展開できないよ!」ということです。
Connecterは、プロジェクト内に「.connector」ファイルを配置して、DA内のConnecterステップから呼び出す方法となっています。
ロボットの実行時に「.connector」からzipに拡張子が変更された上で、Tempフォルダに展開されるようです。
何度かロボットを切り替えて試しましたが、ランダムな英数字のフォルダが出来上がっていたためロボットをコピーするだけでなく、複数要因で発生するエラーではないかと考えられます。
現状気になる点は、ConnectorのZIPファイルを更新することではないか?と思われます。
RPAテクノロジーズ社提供のConnector開発資料では、cache削除の説明が記載されているため、利用する側もConnectorを更新した際はcache削除が必要なのかもしれません。
では、指定されているAppData内の「connector」フォルダを丸ごと削除しましょう。
その後、ロボットを実行待機状態にすると、エラーもなく正常に操作できる状態となります。
TIPSということで、Box連携記事よりはかなり短めでしたが、いかがでしたでしょうか。
今回はBizRobo!の新バージョンで追加されたConnectorのエラー対応の話でしたが、サービスのログイン時にMFAを利用しているユーザにとってConnectorでワンタイムパスワードが発行できるようになった点は大きなメリットになるかと思います。
他にも書きたいことはたくさんありますが、いずれNode.jsやPythonでのConnecter開発手順等の情報をご紹介できればと考えております。
---- 追記 ----
ブログを書き終えてから、ナレッジベースで見つけてしまいました。。。。笑
Connectorを使用するロボット起動時、内部エラー「Failed to open Zip file」が発生することがある