...
以下は、Yellowfinのシステム構成に使用することのできるwebサービスです。
基礎的な構成関数
以下のwebサービスは、Yellowfinのシステムやカスタム設定を更新するために使用します。
Expand |
---|
|
こちらの関数は、Yellowfinのシステム構成設定を更新します。これは、Yellowfinデータベース内の構成テーブルの設定詳細を直接変更することで機能しますが、カスタム設定ではなく、一般的なシステム設定のみが影響を受けます。Yellowfinは、ConfigTypeCodeカラム(列)の値が「SYSTEM」であることを確認してこれらを判別します。そのため、これは基本的にデフォルト組織に影響します。 データベーステーブルが更新されたら、これらの変更を反映するためにYellowfinを再起動しなくてはいけません。 リクエストパラメーター以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | Function | String | Webサービス関数です。こちらは、「SAVECONFIGURATION」に設定します。 | Parameter | String[] | 文字列の配列です。このパラメーターはシステム構成設定を渡すために使用します。最初の文字列は、configCodeのコンテンツで、二番目は構成テーブルのconfigDataである必要があります。 | Client | AdministrationClientOrg | システム構成を更新する特定のクライアント組織を指定するために使用するオプションパラメーターです。しかし、こちらが指定されない場合、システム構成設定はデフォルト組織に適用されます。システム構成設定の大部分はグローバル設定のため、特定のクライアントには設定できないことに留意してください。 |
以下は、新規ユーザーを作成するために、AdministrationClientOrgオブジェクトに設定しなくてはいけない必須パラメーターです。 パラメーター | データ型 | 説明 | ClientReferenceId | String | クライアントを識別するために使用する固有のIDです。 |
リクエストの例以下は、こちらのリクエストのSOAP XMLの例です。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body>
<web:remoteAdministrationCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<function>SAVECONFIGURATION</function>
<parameters>Simple_Authentication</parameters>
<parameters>true</parameters>
</arg0>
</web:remoteAdministrationCall>
</soapenv:Body>
</soapenv:Envelope> |
応答パラメーター返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Web Service Request Complete</messages>
<sessionId>15359eb5b3d7d2c63c6f43affe5f3b45</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteAdministrationCallResponse>
</S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
Code Block |
---|
| AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("SAVECONFIGURATION"); |
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。 Code Block |
---|
| rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"}); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_saveconfiguration.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_saveconfiguration.jsp」を実行します。
Code Block |
---|
| <%
/* ws_SAVECONFIGURATION.jsp */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
/*
This example sets Yellowfin authentication method to Simple.
That means, once Yellowfin has been restarted, the
LOGINUSERNOPASSWORD call can be used to log users into Yellowfin with no password provided.
*/
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin webservices admin account
rsr.setPassword("test"); // set to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("SAVECONFIGURATION");
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("<br>Success");
}
else {
out.write("<br>Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|
...
Expand |
---|
|
こちらのwebサービスは、Yellowfinのカスタムシステム構成詳細を取得します。これは、ConfigCode要素を指定することで実行されます。システムは、Yellowfinデータベース内の構成テーブルの該当するconfigDataカラム(列)に保存されている値を取得します。YellowfinはConfigTypeCodeカラム(列)に「CUSTOM」を含む値を確認するため、カスタムパラメーターのみが読み込まれます。 例えばこれを使用することで、パスワードなしのログインをユーザーに許可する、simple認証が有効になっているかどうかを検証することができます。 リクエストパラメーター以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | Function | String | Webサービス関数です。こちらは、「LOADCUSTOMPARAMETER」に設定します。 | Parameter | String[] | 文字列の配列です。これは、ConfigCode要素の値を渡すために使用します。 | Client | AdministrationClientOrg | システム構成を更新する特定のクライアント組織を指定するために使用するオプションパラメーターです。しかし、こちらが指定されない場合、システム構成設定はデフォルト組織に適用されます。 |
以下のパラメーターは、新規ユーザーを作成するためにAdministrationClientOrgオブジェクトに設定しなくてはいけない必須パラメーターです。 パラメーター | データ型 | 説明 | ClientReferenceId | String | クライアント組織を識別するために使用する固有のIDです。 |
応答パラメーター返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 | BinaryData | String | (Yellowfinリポジトリデータベースから)指定したConfiguration.configCode要素のconfigDataの値を含みます。構成テーブル内に指定したConfigCodeが見つからない場合は、Null値が返されます。 |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
Code Block |
---|
| AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER"); |
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。 Code Block |
---|
| rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"}); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_loadcustomparameter.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loadcustomparameter.jsp」を実行します。
Code Block |
---|
| /* ws_loadcustomparameter.jsp */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin web services admin account
rsr.setPassword("test"); // set to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER");
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("<br>Success");
String data = rs.getBinaryData();
out.write("<br>ConfigData: " + data);
}
else {
out.write("<br>Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|
管理者モード関数
以下のwebサービスでは、ユーザーの「管理者」モードへの
こちらの項目では、このモードが有効、または無効の場合の挙動について、より詳細に紹介にします。
Expand |
---|
|
こちらのwebサービスは、Yellowfinインスタンスの管理者モードを有効にします。こちらのサービスを使用することで、すべてのユーザーロールに適用されるユーザー権限のセットを渡すことができます。これにより、現在アクティブなユーザー、こちらの関数を呼び出した後にログインをしたユーザーを含めて、すべてのユーザーの権限を関数内で定義されたひとつに変更することができます。 これは、閲覧権限のみの基礎的な「report consumer」ロールを付与されたユーザーがいる場合、こちらの関数を使用して、有効なセッション権限を変更し、レポートの削除を含む完全なレポートアクセスを許可することができます。同様に、こちらのサービスを使用することで、すべてのアクティブユーザーのロールからレポート編集機能を削除し、Yellowfinを編集不可にすることもできます。 これらのロール関数を設定するには、関数コードとアクセスレベルを指定しなくてはいけません。一覧に無い関数はすべて、既存のロールのアクセスレベルを使用します。アクセスレベルの未指定は、関数の無効化と同義です。 クラスタ設定の場合、この関数は、パラメーターリクエスト要素を使用して管理者モードを有効にするために、クラスタ内の特定のノードに通知するよう設定することができます。 このモードに入ると、すべての新しいセッションはモード内の権限セットを適用します。すべてのアクティブと、これからログインするユーザーの権限を元に戻すには、DISABLEADMINMODEを渡し、このモードを無効にします。 このモードは、一度有効化した後に設定内容を更新することができないため、既に管理者モードが有効で、新しいアクセスレベルのセットを設定したい場合は、まずモードを無効化し、更新されたアクセスレベルとともに再びこれを有効化しなくてはいけません。 リクエストパラメーター以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | Function | String | Webサービス関数です。こちらは、「ENABLEADMINMODE」に設定します。 | RoleFunctionList | Map<String, String> | アクセスレベルがマッピングされたロール関数名の一覧です。これらは、管理者モード内でロール関数を有効化します。各関数コードでは、CRUDの概念を使用してアクセスレベルを提供します。アクセスレベルが提供されない場合、その関数は含まれません。値の選択肢は、AdministrationFunctionオブジェクト定義を参照してください。 | Parameter | String[] | これは、クラスタ設定の場合に使用します。この配列は、「ture」、または「TURE」いずれかの文字列を渡して、クラスタ内のすべてのノードに通知をすることで、管理者モードを有効にします。こちらで値が渡されない場合、デフォルトではfaulseが設定されるため、管理者モードは有効化されません。 |
リクエストの例 応答パラメーター返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 | BinaryData | String | (Yellowfinリポジトリデータベースから)指定したConfiguration.configCode要素のconfigDataの値を含みます。構成テーブル内に指定したConfigCodeが見つからない場合は、Null値が返されます。 |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
Code Block |
---|
| AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER"); |
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。 Code Block |
---|
| rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"}); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_loadcustomparameter.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loadcustomparameter.jsp」を実行します。
Code Block |
---|
| /* ws_loadcustomparameter.jsp */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin web services admin account
rsr.setPassword("test"); // set to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER");
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("<br>Success");
String data = rs.getBinaryData();
out.write("<br>ConfigData: " + data);
}
else {
out.write("<br>Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|