- Created by Yellowfin Admin , last modified on Jul 18, 2018
You are viewing an old version of this page. View the current version.
Compare with Current View Version History
« Previous Version 8 Next »
これらのwebサービスでは、Yellowfinのシステム構成設定を管理し、管理者モードに入ることができます。
基礎的な構成関数
以下のwebサービスは、Yellowfinのシステムや、カスタムシステム構成設定を更新するために使用します。
こちらの関数は、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の例です。
<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の例に基づき、以下の応答を返します。
<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の例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("SAVECONFIGURATION");
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得するために、以下のコードを追加します。応答には、StatusCodeが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_saveconfiguration.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_saveconfiguration.jsp」を実行します。
<% /* 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()); } %>
こちらの関数は、Yellowfinのカスタムシステム構成設定を更新します。カスタムパラメーターは、クライアント組織に適用することができます。これは、Yellowfinデータベース内の構成テーブルの詳細を直接変更することで機能します。Yellowfinは、ConfigTypeCodeカラム(列)の値が「CUSTOM」であることを確認して変更する設定を判別します。
データベーステーブルが更新されたら、変更内容を反映するためにYellowfinを再起動しなくてはいけません。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「SAVECUSTOMPARAMETER」に設定します。 |
Parameters | String[] | 文字列の配列です。最初の文字列をconfigCodeの値に設定し、二番目を構成テーブルのconfigDataカラム(列)の値に設定します。 |
Client | AdministationClientOrg | システム構成を更新する特定のクライアント組織を指定するために使用するオプションパラメーターです。しかし、こちらを指定しない場合は、構成設定はデフォルト組織に適用されます。 |
以下は、新規ユーザーを作成するためにAdministrationClientOrgオブジェクトに設定しなくてはいけない必須パラメーターです。
パラメーター | データ型 | 説明 |
ClientReferenceId | String | クライアント組織を識別するために使用する固有のIDです。 |
リクエストの例
以下は、こちらのリクエストのSOAP XMLの例です。
<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>SAVECUSTOMPARAMETER</function> <parameters>Simple_Authentication</parameters> <parameters>true</parameters> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
応答の例
サービスは、今回のSOAPの例に基づき、以下の応答を返します。
<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>471080457c1359cbf09c29cd348f97d1</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを指定します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("SAVECUSTOMPARAMETER");
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得するために、以下のコードを追加します。応答にはStatusCodeが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_savecustomparameter.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_savecustomparameter.jsp」を実行します。
<% /* ws_savecustomparameter.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 set Yellowfin authentication method to Simple. That means, once Yellowfin has been restarted, 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 web services admin account rsr.setPassword("test"); // change to the password of the account above rsr.setOrgId(1); rsr.setFunction("SAVECUSTOMPARAMETER"); 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()); } %>
こちらのwebサービスは、現在のYellowfinのシステム構成詳細を取得します。これは、ConfigCode要素を指定することで実行されます。システムは、Yellowfinデータベース内の構成テーブルの該当するconfigDataカラム(列)に保存されている値を取得します。YellowfinはConfigTypeCodeカラム(列)に「SYSTEM」を含む値を確認するため、(カスタムではなく)システムパラメーターのみを読み込むことに留意してください。
例えばこれを使用することで、パスワードなしのログインをユーザーに許可する、simple認証が有効になっているかどうかを検証することができます。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「LOADCONFIGRATION」に設定します。 |
Parameter | String[] | 文字列の配列です。これは、ConfigCode要素の値を渡すために使用します。 |
Client | AdministrationClientOrg | システム構成を更新する特定のクライアント組織を指定するために使用するオプションパラメーターです。しかし、こちらが指定されない場合、システム構成設定はデフォルト組織に適用されます。 |
以下のパラメーターは、新規ユーザーを作成するためにAdministrationClientOrgオブジェクトに設定しなくてはいけない必須パラメーターです。
パラメーター | データ型 | 説明 |
ClientReferenceId | String | クライアント組織を識別するために使用する固有のIDです。 |
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
BinaryData | String | (Yellowfinリポジトリデータベースから)指定したConfiguration.configCode要素のconfigDataの値を含みます。構成テーブル内に指定したConfigCodeが見つからない場合は、Null値が返されます。 |
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("LOADCONFIGURATION");
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得するために以下のコードを追加します。(返される応答については、上記応答パラメーターの表を参照してください)
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サービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_loadconfiguration.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loadconfiguration.jsp」を実行します。
<% /* ws_loadconfiguration.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 webservices admin account rsr.setPassword("test"); // change to be the password of the account above rsr.setOrgId(1); rsr.setFunction("LOADCONFIGURATION"); 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サービスは、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の例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("LOADCUSTOMPARAMETER");
パラメーターオブジェクト内で更新するシステム構成設定を渡します。以下のコード例では、Yellowfinの認証方法を「Simple」に設定しています。
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得するために以下のコードを追加します。(返される応答については、上記応答パラメーターの表を参照してください)
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サービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_loadcustomparameter.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loadcustomparameter.jsp」を実行します。
/* 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サービスを使用することで、「管理者」モードの有効/無効を設定することができます。管理者モードは、特定のユーザーロール権限のセットに設定することが可能で、これはモードが有効な場合に、すべてのユーザーに適用されます。
こちらの項目では、このモードが有効、または無効の場合の挙動について、より詳細に紹介にします。
こちらの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[] | これは、クラスタ設定の場合に使用されます。この配列は、「true」、または「TRUE」いずれかの文字列を渡して、クラスタ内のすべてのノードに通知をすることで、管理者モードを有効にします。こちらで値が渡されない場合、デフォルトではfalseが設定されるため、管理者モードは有効化されません。 |
リクエストの例
以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。
<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> <orgRef>org1</orgRef> <function>ENABLEADMINMODE</function> <parameters>true</parameters> <roleFunctionList> <key>MIREPORT</key> <value>CRUD</value> </roleFunctionList> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
応答の例
サービスは今回のSOAPの例に基づき、以下の応答を返します。
<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>517ce15c32a079dc1528424c03d86691</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest asr = new AdministrationServiceRequest(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("ENABLEADMINMODE");
クラスタ設定の場合は、クラスタ内のすべてのノードにアラートを出し、管理者モードを有効にします。
asr.setParameters(new String[] { "true" });
管理者ロールに要求されるロール関数を設定します。各ロール関数名で、そのアクセスレベルを指定します。
Map<String, String> roleFunctionList = new HashMap<>(); roleFunctionList.put("SYSTEMINFO", ""); roleFunctionList.put("REPORTDASHBOARD", "R"); roleFunctionList.put("DASHPUBLIC", "R"); roleFunctionList.put("MIREPORT", "R"); roleFunctionList.put("STORYBOARD", "R");
リクエストに一覧を追加します。
asr.setRoleFunctionList(roleFunctionList);
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = rssbs.remoteAdministrationCall(asr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、StatusCodeパラメーターが含まれます。(返される応答については、上記応答パラメーターの表を参照してください)
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_enableadminmode.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_enableadminmode.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.*" %> <% /* Enable Admin Mode Enables administrative mode with the list of functions in roleFunctionList. A parameter is set to indicate this should notify the cluster. */ AdministrationServiceResponse rs = null; AdministrationServiceRequest asr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts .getAdministrationService(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("ENABLEADMINMODE"); asr.setParameters(new String[] { "true" }); Map<String, String> roleFunctionList = new HashMap<>(); roleFunctionList.put("SYSTEMINFO", ""); roleFunctionList.put("REPORTDASHBOARD", "R"); roleFunctionList.put("DASHPUBLIC", "R"); roleFunctionList.put("MIREPORT", "R"); roleFunctionList.put("STORYBOARD", "R"); asr.setRoleFunctionList(roleFunctionList); rs = rssbs.remoteAdministrationCall(asr); if ("SUCCESS".equals(rs.getStatusCode())) { for (String message : rs.getMessages()) { out.write(message + "<BR>"); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
こちらのwebサービスは、Yellowfinインスタンスの管理者モードを無効にします。これにより、アクティブユーザーと、これからログインするユーザーのユーザー権限が、元のロール権限に戻ります。クラスタ環境の場合、すべてのノードに通知をして管理者モードを無効にするためには、パラメーターリクエスト要素を使用して、「true」、または「TRUE」いずれかの文字列を渡さなくてはいけません。要素内で値が指定されない場合は、デフォルトで「false/FALSE」が設定されるので、管理者モードを無効にすることはできません。
リクエストパラメーター
以下のパラメーターは、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「DISABLEADMINMODE」に設定します。 |
Parameter | String[] | これは、クラスタ設定の場合に使用されます。この配列は、「true」、または「TRUE」いずれかの文字列を渡して、クラスタ内のすべてのノードに通知をすることで、管理者モードを無効にします。こちらで値が渡されない場合、デフォルトではfalseが設定されるため、管理者モードは無効化されません。 |
リクエストの例
以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。
<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> <orgRef>org1</orgRef> <function>DISABLEADMINMODE</function> <parameters>true</parameters> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
応答の例
サービスは今回のSOAPの例に基づき、以下の応答を返します。
<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>b2aedaafa1350f99c904b88c5daa14e0</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest asr = new AdministrationServiceRequest(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("DISABLEADMINMODE");
クラスタ設定の場合は、クラスタ内のすべてのノードにアラートを出し、管理者モードを無効にします。
asr.setParameters(new String[] { "true" });
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = rssbs.remoteAdministrationCall(asr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、StatusCodeパラメーターが含まれます。(返される応答については、上記応答パラメーターの表を参照してください)
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_disableadminmode.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_disableadminmode.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.*" %> <% /* Disable Admin Mode Disables administrative mode. A parameter is set to indicate this should notify the cluster. */ AdministrationServiceResponse rs = null; AdministrationServiceRequest asr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts .getAdministrationService(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("DISABLEADMINMODE"); asr.setParameters(new String[] { "true" }); rs = rssbs.remoteAdministrationCall(asr); if ("SUCCESS".equals(rs.getStatusCode())) { for (String message : rs.getMessages()) { out.write(message + "<BR>"); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
こちらのwebサービスは、Yellowfinで利用可能なすべてのロール関数と、その説明情報を取得します。結果は、データベースクエリーから返された、ロウ(行)を表す文字列の二次元配列になります。カラム(列)は、以下の通りです。
- Function Code:データベース内で関数を定義するために使用する文字列です。
- Function Name:ロール管理画面に表示される関数の名前です。
- Function Description:ロール管理画面に表示される関数の説明です。
- Uses CRUD:この関数のCRUD(作成、閲覧、編集、削除)権限使用有無を示すフラグです。
リクエストパラメーター
以下のパラメーターは、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「GETROLEFUNCTIONS」に設定します。 |
Parameter | String[] | 設定されている場合は、データベースのパスワードを渡すために使用するパラメーター配列です。 |
リクエストの例
以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。
<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> <orgRef>org1</orgRef> <function>GETROLEFUNCTIONS</function> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
QueryResults | ReportRow[] | ロール関数の詳細を含むオブジェクトです。詳細は、以下を参照してください。 |
以下のパラメーターが、ReportRowオブジェクトに返されます。
ReportRow要素 | データ型 | 説明 |
Function Code | String | データベース内で関数を定義するために使用する文字列です。 |
Function Name | String | ロール管理画面に表示される関数の名前です。 |
Function Description | String | ロール管理画面に表示される関数の説明です。 |
Uses CRUD | String | この関数のCRUD(作成、閲覧、編集、削除)権限使用有無を示すフラグです。 |
応答の例
サービスは今回のSOAPの例に基づき、以下の応答を返します。
<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> <queryResults> <dataValue>ACCESSFILTER</dataValue> <dataValue>Access Filter</dataValue> <dataValue>Allows users to set or change the access filter on a report</dataValue> <dataValue>0</dataValue> </queryResults> <queryResults> <dataValue>CONTENTACCESS</dataValue> <dataValue>Folder Access</dataValue> <dataValue>Allow users to configure content folders.</dataValue> <dataValue>0</dataValue> </queryResults> . . . <queryResults> <dataValue>SHOWHEADERFOOTERADMIN</dataValue> <dataValue>Header/Footer Admin</dataValue> <dataValue>Allow the user to edit the Header and Footer displayed throughout the system.</dataValue> <dataValue>0</dataValue> </queryResults> <sessionId>31e386b7f19b97d6dcdea223f6b2f737</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数のリクエストを定義します。
AdministrationServiceRequest asr = new AdministrationServiceRequest(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("GETROLEFUNCTIONS");
パスワードを提供し、データベースへのアクセスを提供します。
asr.setParameters(new String[] { "root" });
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = rssbs.remoteAdministrationCall(asr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、他の情報とともにStatusCodeパラメーターが含まれます。これら詳細は、上記応答パラメーターの表を参照してください。応答からの通常メッセージをすべて保存します。
for (String message : rs.getMessages()) { out.write(message + "<BR>"); }
また、ロール関数の詳細とともにHTMLテーブルを作成します(カラム(列)名は最初のロウ(行)に表示され、データベースクエリーからの各ロウ(行)は、その後出力されます)
out.write("<table>"); out.write("<th>Function Code</th>"); out.write("<th>Function Name</th>"); out.write("<th>Function Description</th>"); out.write("<th>Uses CRUD</th>"); for (ReportRow row : rs.getQueryResults()) { out.write("<tr>"); for (String data : row.getDataValue()) { out.write("<th>" + data + "</th>"); } out.write("</tr>"); } out.write("</table>");
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_getrolefunctions.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getrolefunctions.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.*" %> <% /* Get Role Functions ws_getrolefunctions.jsp Returns all of the role functions available from the OrgFunction table with descriptions from the OrgReferenceCodeDesc table. Also includes whether the function uses CRUD level access. */ AdministrationServiceResponse rs = null; AdministrationServiceRequest asr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts .getAdministrationService(); asr.setLoginId("admin@yellowfin.com.au"); asr.setPassword("test"); asr.setOrgId(new Integer(1)); asr.setFunction("GETROLEFUNCTIONS"); asr.setParameters(new String[] { "root" }); // Database password rs = rssbs.remoteAdministrationCall(asr); if ("SUCCESS".equals(rs.getStatusCode())) { for (String message : rs.getMessages()) { out.write(message + "<BR>"); } // Create a simple table with the results out.write("<table>"); out.write("<th>Function Code</th>"); out.write("<th>Function Name</th>"); out.write("<th>Function Description</th>"); out.write("<th>Uses CRUD</th>"); for (ReportRow row : rs.getQueryResults()) { out.write("<tr>"); for (String data : row.getDataValue()) { out.write("<th>" + data + "</th>"); } out.write("</tr>"); } out.write("</table>"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
- No labels