WebAPI(HTTP Request)の使い方

OCRサービスにファイルをWebAPIにてアップロード、
ダウンロードするシステムをHTTPrequestで構築中です。
そこで質問です。
(1)OCRサービスの認証に、待ち受けポートが必要です。
C#のプログラムでいう「HttpListner」に該当する
アクティビティはありますか?
(2)OCRサービスにアップロードするファイルを設定
する場所が分かりません。他の記事を読むとattachment
のようですが、Nameに該当する設定値が分かりません。
この値は重要ではなく自由に設定してよいですか?
(3)HttpRequestの各パラメータに変数を使いたいと
考えています。これは値でないといけませんか?
(4)エラーとなるので、HttpRequestによってAPIサーバ
に送られているコマンド文字列が見たいのですが、
その方法はありますか?

1 Like

こんにちは

(1)OCRサービスの認証に、待ち受けポートが必要です。
C#のプログラムでいう「HttpListner」に該当する
アクティビティはありますか?

アクティビティとしては無いと思います。HttpListenerクラスを使えば可能かもしれませんが、権限関係の問題もありますので、UiPathで実施すべきかという点もあるかと思います。
#クライアント側でポートをあける認証って一般的なんですかね...

(2)OCRサービスにアップロードするファイルを設定
する場所が分かりません。他の記事を読むとattachment
のようですが、Nameに該当する設定値が分かりません。
この値は重要ではなく自由に設定してよいですか?

これは相手方の仕様次第になるかと思います。

(3)HttpRequestの各パラメータに変数を使いたいと
考えています。これは値でないといけませんか?

変数は使えると思いますが、動きませんか?

(4)エラーとなるので、HttpRequestによってAPIサーバ
に送られているコマンド文字列が見たいのですが、
その方法はありますか?

Burpのようなローカルプロキシ使うのが良いのでは思います。

1 Like

Yoichi Robot Master様

さっそくのお返事ありがとうございます。
出来そうなことと、難しいことの判断がつきかねて
おりましたので、大変参考になりました。

いただいた情報をふまえて、もう少し頑張ってみます。
ありがとうございました。

権限関係もあるのですが、一般的に「ランダムなタイミングで行われるイベントを待ち受けるときは、メインの処理ではなく別スレッドに分割する」ことになります。そうでないと他の処理をしている途中で受信したときにおかしなことになるからです。(かなり端折った説明ですが)
基本的にUiPathのWorkflowは各アクティビティを単一のスレッドで動作させる設計なので、Listnerを実装するのはかなり難しいと思います。

どうしてもやるなら、いっそのこと専用のアプリケーションをC#で作ってしまい、それをUiPathで自動化させて連携させるほうが、ヘタにHttpListnerをUiPath側に持たせるとか、カスタムアクティビティでスレッド分割するより楽な気がします。

Yoichi Robot Master様

より詳細な説明をいただき、ありがとうございます。
ご説明いただいた内容について、よくわかりました。
実はC#にはOCRベンダーが提供するサンプル
プログラムがついているので、おっしゃる方法を
ベースに再検討してみます。ありがとうございました。