概要
JavaでロボットをRest実行する方法のサンプルコードを記載します。
以下に記載するのは、Java標準のライブラリを使用し、Httpリクエストでロボットを実行するサンプルになります。
使用例
サンプルコード
・POST通信
・インプット/アウトプットの形式はJSON
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
public class Sample {
public static void main(String args[]){
String _robotUrl = "http://localhost:50070/rest/run/Default%20project/Rest.robot";
String _inputParameter = "{\"parameters\":[{\"variableName\":\"input\",\"attribute\":[{\"type\":\"text\",\"name\":\"id\",\"value\":\"input text\"},{\"type\":\"text\",\"name\":\"name\",\"value\":\"input text\"}]}]}";
String _userName = "admin";
String _passWord = "admin";
HttpURLConnection _con = null;
StringBuilder _result = new StringBuilder();
try {
URL _url = new URL(_robotUrl);
_con = (HttpURLConnection) _url.openConnection();
_con.setRequestMethod("POST");
_con.setDoOutput(true);
// 送信するリクエストデータの形式をJSON形式に指定
_con.setRequestProperty("Content-Type", "application/JSON; charset=utf-8");
// レスポンスデータをJSON形式で受け取る
_con.setRequestProperty("Accept", "application/JSON;");
// MCの認証情報
_con.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString((_userName+":"+_passWord).getBytes()));
OutputStreamWriter _out = new OutputStreamWriter(_con.getOutputStream());
_out.write(_inputParameter);
_out.close();
_con.connect();
if (_con.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream _in = _con.getInputStream();
String _encoding = _con.getContentEncoding();
if(null == _encoding){
_encoding = "UTF-8";
}
InputStreamReader _inReader = new InputStreamReader(_in, _encoding);
BufferedReader _bufReader = new BufferedReader(_inReader);
String _line = null;
// レスポンスデータ取得
while((_line = _bufReader.readLine()) != null) {
_result.append(_line);
}
_bufReader.close();
_inReader.close();
_in.close();
}
}catch (Exception e) {
e.printStackTrace();
} finally {
if (_con != null) {
_con.disconnect();
}
}
System.out.println("result=" + _result.toString());
}
}
注意事項
こちらはあくまでも一例であり、この方法を推奨するものではありません。
また、お客様の判断においてご利用・参考頂き、サンプルコードに関する問い合わせは対応しておりません。
前提
Java8で動作確認をしております。
区分 | 確認Ver |
逆引き | 10.7.0.4 |