1

いくつかの UniData サブルーチンを SOAP Web サービスにラップしようとしています。C# と UODOTNET ライブラリ (IBM U2 Data Management Interface for .NET) を使用する予定です。また、データサーバーから利用可能なすべてのサブルーチンを読み取り、必要なすべてのパラメーターを読み取り、Web サービスに必要なコードを動的に生成するエンジンを作成しようとしています。

私のコードは次のようになります。

var session = UniObjects.OpenSession(
        "192.168.0.1",
        "user",
        "password",
        "account"
        );

var cmd = session.CreateUniCommand();
cmd.Command = "LIST SUBURB.INDEX"; // ?????
cmd.Execute();
var res = cmd.Response;

質問 1: 使用可能なすべてのサブルーチンのリストを取得するために使用できるコマンドはありますか?

質問 2: 特定のサブルーチンのすべてのパラメーターのリストを取得するために使用できるコマンドはありますか?

乾杯

4

2 に答える 2

4

短い答えはノーです。

より長い答えはイエスですが、多くの作業が必要です。

この質問をしているので、プラットフォームに関する一般的な知識が不足していると思います。したがって、これを行うには、次のことが必要です。

  • VOC の仕組み、具体的には実行可能コードをここでカタログ化する方法について学びます。
  • CATALOG について、およびプログラムのグローバル、ローカル、および直接のカタログ化の違いについて学びます。
  • 特にシステムがどのように設計されているかを理解してください。すべてが VOC に直接カタログ化されている場所もあれば、混在している場所もあります。前者の方が質問しやすいです。

上記を理解すれば、VOC、ローカル カタログ、およびグローバル カタログからすべての実行可能プログラムのリストを取得する方法がわかります。たとえば、VOC の簡単な例は UniQuery コマンドLIST VOC WITH F1="C"です。

難しいのは、システム コマンドがないパラメータ リストを取得することです。これを行うには、2 つのオプションがあります。

  1. すべてのサブルーチンのバイト コードをリバース エンジニアリングし、パラメーターの数を導き出す
  2. 関連するソース コードにアクセスできる場合は、それを解析してリストを生成します。
于 2016-05-31T13:34:11.387 に答える
3

これにコメントを追加したかっただけです.UniDataには、プログラムとサブルーチン(およびパラメータの数)を識別するMAKE.MAP.FILEコマンドがあり、情報を「_MAP_」ファイルに入れます。これは、パラメーターが何に使用されるかを示しているわけではありませんが、役に立ちます。

于 2016-11-03T14:30:54.340 に答える