0

あるユニバースから別のユニバースに BO クエリ サービスをコピーしようとしています。BO Query As A Service (QAAS) ツールを使用すると、これを行うことができますが、基本的にクエリ サービスを再作成することになります。

BusinessObjects.DSWS.* ライブラリを使用するとクエリ サービスを読み書きできるようですが、QAAS ツールには表示されません。これらのクエリは、QAAS ツールの ping とは別のユニバースに入ると思います。おそらく、データ用のユニバースと Web サービス クエリ用のユニバースがあります。HTTP トラフィックの QAAS ツールを監視すると、含まれるデータのクエリを実行するために使用される BO Web サービスが、Web サービス クエリの管理にも使用されることが明らかになりました。

QuerySpec の XML 文字列で Replace() を使用して UniverseID を変更することで、1 つのクエリ サービスを新しいユニバースの新しいサービスにコピーすることができました。基本的に、1 つのクエリ サービスを手動で再構築することなく、別のユニバースにコピーできます。

QAAS ツールには [公開] ボタンが含まれています。これは未知の、しかし重要なことを行います。おそらく、コピーされたクエリ サービスが公開されるように、いくつかの SOAP、WSDL、または構成ファイルが作成されます。これを行っているときにスヌープする HTTP トラフィックはないようです。BusinessObjects.DSWS.* ライブラリには公開機能が含まれていますが、クエリ サービス用ではありません。ExcelやPDFなどの一般的なファイル用です。

現在、私たちは 2 つのツールの使用に追いやられています。QAASツールと同じようにBOクエリサービスをプログラムで公開する方法を知っている人はいますか?

4

1 に答える 1

0

久しぶりですが、これを行うにはハックな方法がありました。

VSツールを使用して、BOWebサービスを呼び出すことができるcsharpクラスを生成できます。そのオブジェクトは、関連する設定をテキスト形式でプルできます。次に、クエリサービスのオブジェクトIDの既存の部分であるユニバースIDを新しいユニバースIDに置き換えます。そのオブジェクトは、新しいクエリサービスを追加できます。

このプロセスは非常に迅速であり、QAASツールを使用して新しいコピーされたクエリサービスを公開する必要があります。コードから利用できるすべての公開アクションは、クエリサービスではなく、他の何かを公開しているようです。

于 2009-02-20T17:25:05.927 に答える