事象概要
.NET APIのRequestを利用して、複数回(500回程)連続でExecute(実行)した場合に下記のような重複エラーが発生する事象が確認されています。
<エラー>
RoboServer reported the following error: ServerErrorResponse(date=yyyy/mm/dd hh:mm:ss,errorMessage="A robot with execution id xxxx is already executing, execution id's must be unique.")
MCの「リポジトリ(Repository)」タブから.NET API(C#)のAPIを抜粋
// Create the request
Request request = new Request("Library:/xxxxx");
request.StopOnConnectionLost = true;
request.StopRobotOnApiException = true;
request.MaxExecutionTime = 3600;// Use the repository as Robot Library
RepositoryRobotLibrary lib = new RepositoryRobotLibrary("http://xxxxx",
"Default project", 60000L, repositoryUserName, repositoryPassword);
request.RobotLibrary = lib;// Execute the robot, and process the result
RqlResult result = request.Execute(clusterName);
原因
内部で.NET API用に実行IDを生成していますが、不正なIDを生成してしまうことが原因です。
対処方法
手動でIDの採番ロジックを組み、実行IDを作成して、setExecutionIDメソッドを利用して実行させるか、
Java APIに変更することで対処できます。
参考ナレッジ
・Java API と C# API の機能に差はありますか?
区分 | 発生Ver | 改修ID | 修正Ver |
不具合 | 1328111 |
コメント
ログインしてコメントを残してください。