2
1

More than 3 years have passed since last update.

UiPath製品群をプロキシ環境で使用するための環境設定手順(UiPath Community版/認証なしプロキシのケース)

Last updated at Posted at 2019-12-29

さてさて「UiPath製品群をプロキシ環境で使用するための環境設定手順(UiPath Enterprise版/認証なしプロキシのケース)」で、Enterprise版におけるプロキシ設定方法を整理しましたが、つづいて Community版です。

前回の記事を前提に記載していくので、必要に応じてそちらをご確認くださいませ。

この記事の対象の方

  • トラブルシューティングなどで、Studio/Robot とOC間の電文をしっかりと確認したい方。
  • 前回の記事をみて、Community版はどーなのよっておもった方。
  • UiPath Loveな方:-)

前提

  • UiPath Studio 2019.10.2 Community 版/Orchestrator Community版 2019.12.6 で確認を行いました。
  • Community版なので、Robotはユーザモードで起動しています
  • 今回の疎通確認においてもプロキシサーバは、接続できていることが目視で確認できる Fiddlerを用いています。
  • その Fiddlerがhttp://127.0.0.1:8888で起動していると仮定します。

TL;DR

Community版は原則「IEの設定」をそのまま引き継ぐようになっているので、設定しなくてもネット接続は可能でした。

詳細

「認証なしのプロキシを越えられればイイ」だけなら以上です。Community版は勝手にIE設定を使ってプロキシを越えてくれるようです。
ただ、認証ありプロキシの場合は、IEの設定をそのまま引き継いでも、プロキシ認証のためのID/Passを入れる場面がないので、結局あとでつまづくことになりそうです。

なので、今後のためIEの設定を利用するのではなく、明示的にプロキシ設定する方法を整理しておきます1

登場するプログラムたち

さてEnterpriseのときと同様、UiPathが動くときにウラで動いているプログラムたちと、それらの設定ファイルについて整理します。
おおむね、

  • UiPath.Service.UserHost.exe :(サイトより引用)すべての操作の頭脳です。
  • NuGetのプログラム: アクティビティパッケージのダウンロードを行います
  • UiPath.Executor.exe: (サイトより引用)プロセスの実行を直接担当するコンポーネントです。
  • UiPath.Agent.exe: (サイトより引用)Robot の実際のユーザーインターフェースです。
  • UiPath Studio: 開発ツールです
  • Regutil.exe: (サイトより引用)マシンをオンラインまたはオフラインでアクティベーションできる簡易コマンドラインツールです。

などが動いています。とってもややこしいですね。
参考: https://docs.uipath.com/robot/lang-ja/docs/introduction

どのネット接続処理を、どのプログラムがやってるかの例

つづいてそれらのプログラムたちが、どんな(ネット接続をともなう)処理を担当しているか、下記に例を示してみます。あわせて、なにも設定しなかったときのデフォルトの挙動(IE設定をみるか、ダイレクト接続するか)も整理しました。

No ネット接続をともなう処理 それを実施するプロセス・サービス 初期状態の挙動
1 OCへの接続・切断 UiPath.Service.UserHost IE設定を参照
2 タスクトレイで操作(最新ワークフローのチェックとか) UiPath.Service.UserHost IE設定を参照
3 ハートビート(Heartbeat) UiPath.Service.UserHost IE設定を参照
4 StudioからのPublish UiPath.Service.UserHost IE設定を参照
5 nupkgのダウンロード(ロボ)(タスクトレイからのnupkgダウンロード) NuGetのプログラム IE設定を参照
6 nupkgのダウンロード(Studio) UiPath Studio(がNuGetを呼んでそう) IE設定を参照
7 ワークフロー内のアクティビティのHTTPアクセス(「Orchestrator への HTTP 要求」「HTTP 要求」アクティビティで確認)Studioから実行 UiPath.Executor IE設定を参照
8 上記ワークフローをタスクトレイから実行 UiPath.Executor IE設定を参照
9 Regutilによるオンラインアクティベーション Regutil IE設定を参照

Enterprise版と違い、デフォルトではどれもIE設定を参照しているようですね。

個別のプログラムが参照する設定ファイル

さて個別のプログラムたちが参照する、設定ファイルもまとめておきます。

No プロセス・サービス プロキシ設定を記述する設定ファイル 備考
1 UiPath.Service.UserHost.exe C:\Users\[ユーザ名]\AppData\Local\UiPath\app-19.10.2\UiPath.Service.UserHost.exe.config プロセスの再起動が必要
2 NuGetのプログラム C:\Users\[ユーザ名]\AppData\Roaming\NuGet\NuGet.Config プロセスの再起動が必要
3 UiPath Studio C:\Users\[ユーザ名]\AppData\Roaming\NuGet\NuGet.Config Studioの再起動が必要
4 UiPath.Executor.exe C:\Users\[ユーザ名]\AppData\Local\UiPath\app-19.10.2\UiPath.Executor.exe.config プロセス/Studioの再起動は不要
5 Regutil.exe C:\Users\[ユーザ名]\AppData\Local\UiPath\app-19.10.2\UiPath\license.config
6 UiPath.Agent.exe C:\Users\[ユーザ名]\AppData\Local\UiPath\app-19.10.2\UiPath.Agent.exe.config (利用シーンがない)

設定ファイルの変更方法

Enterprise版と異なり、設定ファイルの編集に管理者権限は不要です。

まず*.exe.config 系の記述方法はすべて同じなので UiPath.Service.UserHost.exe.config の例だけ書きます。

UiPath.Service.UserHost.exe.config
...割愛。
  <!--Proxy configuration-->
  <system.net>
    <defaultProxy>
      <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="true" />
    </defaultProxy>
  </system.net>

プロキシサーバとポート番号を上記のように指定します。
つぎにNuGet.Config

NuGet.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <packageManagement>
    <add key="format" value="0" />
    <add key="disabled" value="False" />
  </packageManagement>
  <config>
    <add key="http_proxy" value="http://127.0.0.1:8888" /> 
  </config>
  <packageSources>
    <add key="UiPath Community" value="https://gallery.uipath.com/api/v2" />
    <add key="UiPath Official" value="https://www.myget.org/F/workflow/" />
    <add key="https://api.nuget.org/v3/index.json" value="https://api.nuget.org/v3/index.json" />
   </packageSources>
  <disabledPackageSources>
    <add key="Official" value="true" />
    <add key="Go!" value="true" />
    <add key="Microsoft Visual Studio Offline Packages" value="true" />
    <add key="UiPath Community" value="true" />
    <add key="UiPath Official" value="true" />
  </disabledPackageSources>
</configuration>

<config>...</config> を追加しました。

さきの表の備考で「プロセスの再起動が必要」となっているファイルを修正したときは、下記のとおり参照しているプロセスを再起動します。
Enterprise版の場合はWindowsサービスの再起動でしたが、Community版の場合は「タスクトレイの右クリック >> 終了」 と
t01.png

「タスクマネージャ >> プロセス >> UiPath Robot User Service(32ビット) >> タスクの終了」を行います。
t02.png

再度 UiPath Robot を起動すると、プロキシ経由の接続になっているのが確認できると思います。

あとはlicense.config ですがオンラインアクティベーションをするためのプロキシ設定について (Studio / ロボット) に情報があります。

license.config
<SHAFERXMLParams>
<NSAEnabled>1</NSAEnabled>
<NSLEnabled>1</NSLEnabled>
<SecurityValue>15</SecurityValue>
<OfflineMode>0</OfflineMode>
<WorkDir>%PROGRAMDATA%\UiPath\License</WorkDir>
<LicDir>%PROGRAMDATA%\UiPath\License</LicDir>
<LogLevel>0</LogLevel>
<LogQLen>300</LogQLen>
<CacheQLen>25</CacheQLen>
<SoapThreadsMin>10</SoapThreadsMin>
<SoapThreadsMax>10</SoapThreadsMax>
<MaxLogSize>0</MaxLogSize>
<ProxyIP>127.0.0.1</ProxyIP>
<ProxyPort>8888</ProxyPort>
</SHAFERXMLParams>

などとすればよいようですね。

注意事項とTIPS

UiPath.Service.UserHost.exe.config だけをプロキシ設定するとトラブった

UiPath.Service.UserHost.exe.config だけをプロキシ設定にしたところ(つまりNuGet.Configは修正しない) タスクトレイからのアクティビティパッケージ更新でエラーが。。

下記オペを行うと
03.png
エラーとなりました。
04.png
詳細を開いてみると、、、
05.png

なんか失敗してます。UiPath.Service.UserHost.exe.configを修正するとNuGet.Configも修正しないとダメ」 なように見えますね。ご注意です。Studio上でのnupkgのダウンロードは普通に動いてるんですけどね、、。

ちなみにStackTraceはこんな内容です。

パッケージ 'Hello2019_1.1.0.2' のインストールに失敗しました
RemoteException wrapping System.Exception: パッケージ 'Hello2019_1.1.0.2' のインストールに失敗しました
---> RemoteException wrapping System.Exception: NU1101: Unable to find package Hello2019_1. 
No packages exist with this id in source(s): Go!, https://orch.example1.xyz/nuget/activities, 
https://orch.example1.xyz/nuget/feed/default, Local, Microsoft Visual Studio Offline Packages, Official 

TIPS:ユーザ名などが入ったディレクトリの指定

よく出てくる[ユーザ名]が含まれたディレクトリC:\Users\[ユーザ名]\AppData\Local\UiPath\app-19.10.2\などは以下のように環境依存することなく指定することができます。

c:\>
c:\> cd %localappdata%\UiPath\app-19.10.2\

C:\Users\xxxx\AppData\Local\UiPath\app-19.10.2>  ← 本文中のUiPathインストールディレクトリ

ほかにも

c:\>
c:\> cd %appdata%\NuGet\

C:\Users\xxxx\AppData\Roaming\NuGet>  ← 本文中のNuGet関連の設定ファイルを置く場所
c:\>
c:\>cd %userprofile%\.nuget

C:\Users\xxxx\.nuget>   ← activity package(nupkg) が展開される場所
c:\>
c:\>cd %programData%\UiPath

C:\ProgramData\UiPath>  ← ローカルでPublishしたnupkgが置かれるディレクトリがある場所

エクスプローラなどにも貼り付けて利用できますので、ご活用ください。

以上、Community版のUiPathを使うときのプロキシ設定でした。
おつかれさまでしたー。

関連リンク


  1. 今回の記事ではID/Passを入れるところまで言及しないんですが、対策をいつか記事にします:-) 

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1