こちらで紹介するwebサービスは、データソースを管理するために使用します。
注意:Yellowfinは、個別のクライアント組織でのこれらのwebサービスの使用もサポートします。それぞれ、LISTDATASOURCES、LOADDATASOURCE、SAVEDATASOURCE関数を使用することで、個別のクライアント組織で複数のデータソースの一覧を表示したり、読み込んだり、更新したりすることができます。
こちらのwebサービスは、認証されたユーザーとクライアント組織に利用可能なすべてのデータソースの一覧を取得します。応答は、ソースIDと、検出された各データソースのソース名とともに、AdministrationDataSourceオブジェクトの配列を含みます。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「LISTDATASOURCES」に設定します。 |
OrgRef | 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>LISTDATASOURCES</function> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
DataSources | AdministrationDataSource[] | 利用可能なすべてのデータソースを含むオブジェクト配列です。 |
応答の例
サービスは、今回のSOAPの例に基づき、以下の応答を返します。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <return> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>org.hsqldb.jdbcDriver</connectionDriver> <connectionPath/> <connectionString>jdbc:hsqldb:file:/Applications/Yellowfin 7.4 86/tutorialdata/newskiteam;shutdown=true</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription>Ski Team is the demonstration and tutorial database.</sourceDescription> <sourceId>54700</sourceId> <sourceName>Ski Team</sourceName> <sourceType>HSQLDB</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>SA</userName> <userPassword>cDahEHuTOrk=</userPassword> </datasources> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>org.hsqldb.jdbcDriver</connectionDriver> <connectionString>jdbc:hsqldb:file:/Applications/Yellowfin 7.4 86/data/configdb;shutdown=true</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>54701</sourceId> <sourceName>Yellowfin Configuration Database</sourceName> <sourceType>GENERICJDBC</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>SA</userName> <userPassword>cDahEHuTOrk=</userPassword> </datasources> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>net.sourceforge.jtds.jdbc.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:jtds:sqlserver://:1433/</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>70108</sourceId> <sourceName>c</sourceName> <sourceType>MSSQLSERVER</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName/> <userPassword>cDahEHuTOrk=</userPassword> </datasources> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>org.postgresql.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:postgresql://10.10.0.117:5432/employees</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>70101</sourceId> <sourceName>Oracle database</sourceName> <sourceType>POSTGRESQL</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>postgres</userName> <userPassword>6monvQ6/nGZMnqeGlK/yEw==</userPassword> </datasources> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>oracle.jdbc.OracleDriver</connectionDriver> <connectionPath/> <connectionString>jdbc:oracle:thin:@10.10.5.184:1521:orcl</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>70109</sourceId> <sourceName>Oracle</sourceName> <sourceType>ORACLE</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>bijin</userName> <userPassword>FKpY9TvYog7WT9ZdYhoCUg==</userPassword> </datasources> <datasources> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>net.sourceforge.jtds.jdbc.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:jtds:sqlserver://:1433/</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>70110</sourceId> <sourceName>f</sourceName> <sourceType>MSSQLSERVER</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName/> <userPassword>cDahEHuTOrk=</userPassword> </datasources> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>8dbd54ecedc55238ece1408713fbc692</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(new Integer(1)); rsr.setFunction("LISTDATASOURCES");
インスタンスに新規ライセンスを提供します。ライセンスは、バイト配列になります。Base64にエンコードし、utilメソッドを使用して変換することができます。
byte[] lic = com.hof.util.Base64.decode("Base64 Encoded String of licence file"); rsr.setBinaryData(lic);
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、StatusCodeが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_listdatasources.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_listdatasources.jsp」を実行します。
<% /* ws_listdatasources.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.*" %> <% AdministrationServiceResponse rs = null; AdministrationServiceRequest rsr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts.getAdministrationService(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("LISTDATASOURCES"); rs = rssbs.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode())) { out.write("<table>"); out.write("<tr>"); out.write("<th>Source ID</th><th>Source Name</th>"); out.write("</tr>"); for (AdministrationDataSource administrationDataSource: rs.getDatasources()) { out.write("<tr>"); out.write("<td>" + administrationDataSource.getSourceId() + "</td><td>" + administrationDataSource.getSourceName() + "</td>"); out.write("</tr>"); } out.write("</table>"); } else { out.write(rs.getStatusCode()); out.write(rs.toString()); } %>
こちらのwebサービスは、ソースIDを使用して指定した単一のデータソースのメタデータを取得します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「LOADDATASOURCE」に設定します。 |
SourceId | Integer | メタデータを取得するデータソースの一意のIDです。 |
OrgRef | 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>LOADDATASOURCE</function> <sourceId>54701</sourceId> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
LoadedDataSources | AdministrationDataSource[] | 指定したデータソースの詳細を含むオブジェクト配列です。 |
応答の例
サービスは、今回の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> <loadedDataSource> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>org.hsqldb.jdbcDriver</connectionDriver> <connectionString>jdbc:hsqldb:file:/Applications/Yellowfin 7.4 86/data/configdb;shutdown=true</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>54701</sourceId> <sourceName>Yellowfin Configuration Database</sourceName> <sourceOptions> <optionKey>ISOLATIONLEVEL</optionKey> <optionValue>1.0</optionValue> <valueDataType>1</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USESCHEMA</optionKey> <optionValue>true</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>YF_DRIVER_SELECTION</optionKey> <optionValue>org.hsqldb.jdbc.JDBCDriver</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>CONNECTIONSTRING</optionKey> <optionValue>jdbc:hsqldb:file:/Applications/Yellowfin 7.4 86/data/configdb;shutdown=true</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USEFETCHSIZE</optionKey> <optionValue>false</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>FETCHSIZE</optionKey> <optionValue/> <valueDataType>2</valueDataType> </sourceOptions> <sourceType>GENERICJDBC</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>SA</userName> <userPassword>cDahEHuTOrk=</userPassword> </loadedDataSource> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>6e8fa3d3c3789cef6f6c048d98a1f6a4</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(new Integer(1)); rsr.setFunction("LISTDATASOURCE");
インスタンスに新規ライセンスを提供します。ライセンスは、バイト配列になります。Base64にエンコードし、utilメソッドを使用して変換することができます。
byte[] lic = com.hof.util.Base64.decode("Base64 Encoded String of licence file"); rsr.setBinaryData(lic);
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、StatusCodeが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_loaddatasource.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loaddatasource.jsp」を実行します。
<% /* ws_loaddatasource.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.*" %> <% AdministrationServiceResponse rs = null; AdministrationServiceRequest rsr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts.getAdministrationService(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("LOADDATASOURCE"); rsr.setSourceId(54700); rs = rssbs.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode())) { out.write("<table>"); out.write("<tr>"); out.write("<th>Source ID</th><th>Source Name</th>"); out.write("</tr>"); for (AdministrationDataSource administrationDataSource: rs.getDatasources()) { out.write("<tr>"); out.write("<td>" + administrationDataSource.getSourceId() + "</td><td>" + administrationDataSource.getSourceName() + "</td>"); out.write("</tr>"); } out.write("</table>"); } else { out.write(rs.getStatusCode()); out.write(rs.toString()); } %>
こちらのwebサービスは、Yellowfinデータソース接続の新規作成や、既存のデータソース接続の編集に使用することができます。こちらを適切に機能させるためには、AdministrationDataSourceオブジェクトにすべてのパラメーターを提供しなくていけません。不足がある場合、重要なパラメーターはNull値に置換されます。
クライアント組織にソースを作成するには、対象のクライアント組織のユーザーとしてログインします。
<loginId>clientOrgUser@yellowfin.com.au</loginId> <password>test</password> <orgId>1</orgId> <orgRef>clientOrgRef</orgRef> <function>SAVEDATASOURCE</function>...
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「SAVEDATASOURCE」に設定します。 |
Datasource | AdministrationDataSource | 編集、または作成をするデータソースオブジェクトです。以下の表を参照してください。 |
OrgRef | String | クライアント組織内部参照IDです(オプション)。これは、指定されたクライアント組織内のデータソースを更新します。データソースは、SourceIDパラメーターを使用して参照される必要があります。この関数は、既存のデータソースの詳細を更新することに注意してください。クライアント組織内に新規データソースを作成することはできません。 |
以下のパラメーターは、AdministrationDataSourceオブジェクト内で指定する必要があります。
リクエスト要素 | データ型 | 説明 |
AccessLevelCode | String | データベースのアクセス権、アクセスレベルを指定します。 |
ClientSources | ||
ConnectionDriver | String | データソースの接続に使用するドライバーです。 |
ConnectionPath | String | |
ConnectionString | String | データソースの接続文字列です。 |
ConnectionTimeout | Integer | これは、秒単位で指定します。 |
ConnectionType | String | 接続のタイプです。例:JDBC、など |
ConnectionTypeCode | String | |
InheritChildSourceFilters | Boolean | |
LogFile | String | |
MaxRows | Integer | 取得されるデータロウ(行)の最大数です。 |
MaximumConnections | Integer | |
MinimumConnections | Integer | |
RefreshTime | Integer | これは、時間単位で指定します。 |
SourceDescription | String | データソースの説明です。 |
SourceId | Integer | 各データソースに固有のYellowfin IDです。こちらを提供しない場合は新しいデータソースが作成されるため、既存のデータソース編集時には、必ず指定しなくてはいけません。 |
SourceName | String | データソースの名前です。 |
SourceOptions | 以下の表を参照してください。 | |
SourceType | String | データソースのタイプです。例:MySQL、Oracle、など |
Timezone | String | |
UserName | String | データソースアカウントのユーザー名です。 |
UserPassword | String | 上記アカウントのパスワードです。パスワードは、データソース保存時に自動的に暗号化されます。 |
以下のパラメーターは、AdministrationDataSourceOptionに要求されます。
AdministrationDataSourceOptionは、各ソースに応じて異なります。一覧化されたプロパティに入力する値を確認するには、スクリプトを記述するYellowfinのソース接続のタイプで、LOADDATASOURCEの呼び出しを実行します。
パラメーター | 型 |
OptionKey | String |
OptionValue | String |
ValueDataType | String |
リクエストの例
以下は、こちらのリクエストの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>SAVEDATASOURCE</function> <datasource> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>com.mysql.jdbc.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:mysql://localhost:3306/default</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceName>Default</sourceName> <sourceOptions> <optionKey>ISOLATIONLEVEL</optionKey> <optionValue>1</optionValue> <valueDataType>1</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USESCHEMA</optionKey> <optionValue>true</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>HOSTNAME</optionKey> <optionValue>localhost</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>PORT</optionKey> <optionValue>3306</optionValue> <valueDataType>1</valueDataType> </sourceOptions> <sourceOptions> <optionKey>DATABASE</optionKey> <optionValue>default</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USEFETCHSIZE</optionKey> <optionValue>false</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>FETCHSIZE</optionKey> <optionValue/> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>YF_DRIVER_SELECTION</optionKey> <optionValue>com.mysql.jdbc.Driver</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceType>MYSQL</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>root</userName> <userPassword>root</userPassword> </datasource> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
LoadedDataSources | AdministrationDataSource | 保存されたデータソースの詳細を含むオブジェクト配列です。 |
応答の例
サービスは、今回の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> <loadedDataSource> <accessLevelCode>UNSECURE</accessLevelCode> <connectionDriver>com.mysql.jdbc.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:mysql://localhost:3306/default</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>74374</sourceId> <sourceName>Default</sourceName> <sourceType>MYSQL</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>root</userName> <userPassword>kOjvh+lsaec=</userPassword> </loadedDataSource> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>5bcaabd9865824d45b1768eddb21c99e</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(new Integer(1)); rsr.setFunction("SAVEDATASOURCE");
作成、または更新するデータソース接続の詳細を提供します。
AdministrationDataSource source = new AdministrationDataSource(); source.setAccessLevelCode("UNSECURE"); source.setConnectionDriver("com.mysql.jdbc.Driver"); source.setConnectionPath(""); source.setConnectionString("jdbc:mysql://localhost:3306/org1"); source.setConnectionTimeout(180); source.setConnectionType("JDBC"); source.setConnectionTypeCode("GENERICUSER"); source.setInheritChildSourceFilters(false); source.setMaxRows(10000); source.setMaxmimumConnections(5); source.setMinimumConnections(1); source.setRefreshTime(3); source.setSourceDescription("Org 1"); source.setSourceName("org1"); source.setSourceType("MYSQL"); source.setTimezone("AUSTRALIA/SYDNEY"); source.setUserName("root"); source.setUserPassword("root");
データソースオプションの詳細を指定します。
AdministrationDataSourceOption[] options = new AdministrationDataSourceOption[8]; options[0] = new AdministrationDataSourceOption(); options[0].setOptionKey("ISOLATIONLEVEL"); options[0].setOptionValue("1"); options[0].setValueDataType("1"); options[1] = new AdministrationDataSourceOption(); options[1].setOptionKey("USESCHEMA"); options[1].setOptionValue("true"); options[1].setValueDataType("6"); options[2] = new AdministrationDataSourceOption(); options[2].setOptionKey("HOSTNAME"); options[2].setOptionValue("localhost"); options[2].setValueDataType("2"); options[3] = new AdministrationDataSourceOption(); options[3].setOptionKey("PORT"); options[3].setOptionValue("3306"); options[3].setValueDataType("1"); options[4] = new AdministrationDataSourceOption(); options[4].setOptionKey("DATABASE"); options[4].setOptionValue("org1"); options[4].setValueDataType("2"); options[5] = new AdministrationDataSourceOption(); options[5].setOptionKey("USEFETCHSIZE"); options[5].setOptionValue("false"); options[5].setValueDataType("6"); options[6] = new AdministrationDataSourceOption(); options[6].setOptionKey("FETCHSIZE"); options[6].setOptionValue(""); options[6].setValueDataType("2"); options[7] = new AdministrationDataSourceOption(); options[7].setOptionValue("com.mysql.jdbc.Driver"); options[7].setValueDataType("2"); source.setSourceOptions(options); rsr.setDatasource(source);
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得します。(より詳細な情報は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_savedatasource.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_savedatasource.jsp」を実行します。
<% /* ws_savedatasource.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"); // change to the password of the account above rsr.setOrgId(1); rsr.setFunction("SAVEDATASOURCE"); AdministrationDataSource source = new AdministrationDataSource(); source.setAccessLevelCode("UNSECURE"); source.setConnectionDriver("com.mysql.jdbc.Driver"); source.setConnectionPath(""); source.setConnectionString("jdbc:mysql://localhost:3306/org1"); source.setConnectionTimeout(180); source.setConnectionType("JDBC"); source.setConnectionTypeCode("GENERICUSER"); source.setInheritChildSourceFilters(false); source.setMaxRows(10000); source.setMaxmimumConnections(5); source.setMinimumConnections(1); source.setRefreshTime(3); source.setSourceDescription("Org 1"); source.setSourceName("org1"); source.setSourceType("MYSQL"); source.setTimezone("AUSTRALIA/SYDNEY"); source.setUserName("root"); source.setUserPassword("root"); AdministrationDataSourceOption[] options = new AdministrationDataSourceOption[8]; options[0] = new AdministrationDataSourceOption(); options[0].setOptionKey("ISOLATIONLEVEL"); options[0].setOptionValue("1"); options[0].setValueDataType("1"); options[1] = new AdministrationDataSourceOption(); options[1].setOptionKey("USESCHEMA"); options[1].setOptionValue("true"); options[1].setValueDataType("6"); options[2] = new AdministrationDataSourceOption(); options[2].setOptionKey("HOSTNAME"); options[2].setOptionValue("localhost"); options[2].setValueDataType("2"); options[3] = new AdministrationDataSourceOption(); options[3].setOptionKey("PORT"); options[3].setOptionValue("3306"); options[3].setValueDataType("1"); options[4] = new AdministrationDataSourceOption(); options[4].setOptionKey("DATABASE"); options[4].setOptionValue("org1"); options[4].setValueDataType("2"); options[5] = new AdministrationDataSourceOption(); options[5].setOptionKey("USEFETCHSIZE"); options[5].setOptionValue("false"); options[5].setValueDataType("6"); options[6] = new AdministrationDataSourceOption(); options[6].setOptionKey("FETCHSIZE"); options[6].setOptionValue(""); options[6].setValueDataType("2"); options[7] = new AdministrationDataSourceOption(); options[7].setOptionValue("com.mysql.jdbc.Driver"); options[7].setValueDataType("2"); source.setSourceOptions(options); rsr.setDatasource(source); 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サービスは、クライアントソース置換モデルのために、デフォルト組織のデータソースをクライアント組織のソースとリンクするために使用します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「LINKDATASOURCE」に設定します。 |
SourceId | Integer | デフォルトデータソースのIDです。 |
SourceClientLink | AdministrationDataSourceClientLink | このオブジェクトは、クライアント組織ソースIDの詳細を提供するために使用します。以下の表を参照してください。 |
以下のパラメーターは、AdministrationDataSourceClientLinkに提供されます。
パラメーター | 型 | 説明 |
ClientOrgId | Integer | |
ClientOrgRef | String | |
SourceId | Integer | 必須フィールド |
リクエストの例
以下は、こちらのリクエストの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>LINKDATASOURCE</function> <sourceId>74374</sourceId> <sourceClientLink> <sourceId>74376</sourceId> </sourceClientLink> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
LoadedDataSources | AdministrationDataSource | リンクされたデータソースの詳細を含むオブジェクト配列です。 |
応答の例
サービスは、今回の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> <loadedDataSource> <accessLevelCode>UNSECURE</accessLevelCode> <clientSources> <clientOrgId>13004</clientOrgId> <clientOrgRef>org1</clientOrgRef> <sourceId>74376</sourceId> </clientSources> <connectionDriver>com.mysql.jdbc.Driver</connectionDriver> <connectionPath/> <connectionString>jdbc:mysql://localhost:3306/default</connectionString> <connectionTimeout>180</connectionTimeout> <connectionType>JDBC</connectionType> <connectionTypeCode>GENERICUSER</connectionTypeCode> <inheritChildSourceFilters>false</inheritChildSourceFilters> <maxRows>10000</maxRows> <maxmimumConnections>5</maxmimumConnections> <minimumConnections>1</minimumConnections> <refreshTime>3</refreshTime> <sourceDescription/> <sourceId>74374</sourceId> <sourceName>Default</sourceName> <sourceOptions> <optionKey>ISOLATIONLEVEL</optionKey> <optionValue>1</optionValue> <valueDataType>1</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USESCHEMA</optionKey> <optionValue>true</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>HOSTNAME</optionKey> <optionValue>localhost</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>PORT</optionKey> <optionValue>3306</optionValue> <valueDataType>1</valueDataType> </sourceOptions> <sourceOptions> <optionKey>DATABASE</optionKey> <optionValue>default</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>USEFETCHSIZE</optionKey> <optionValue>false</optionValue> <valueDataType>6</valueDataType> </sourceOptions> <sourceOptions> <optionKey>FETCHSIZE</optionKey> <optionValue/> <valueDataType>2</valueDataType> </sourceOptions> <sourceOptions> <optionKey>YF_DRIVER_SELECTION</optionKey> <optionValue>com.mysql.jdbc.Driver</optionValue> <valueDataType>2</valueDataType> </sourceOptions> <sourceType>MYSQL</sourceType> <timezone>AUSTRALIA/SYDNEY</timezone> <userName>root</userName> <userPassword>kOjvh+lsaec=</userPassword> </loadedDataSource> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>a8ea7db63b9b96bdcda9e0f9bba067d1</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(new Integer(1)); rsr.setFunction("LINKDATASOURCE");
デフォルト組織のデータソースのIDを提供します。
rsr.setSourceId(74374);
リンクするクライアント組織のソースIDを提供します。
AdministrationDataSourceClientLink link = new AdministrationDataSourceClientLink(); link.setSourceId(74376); rsr.setSourceClientLink(link);
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得します。(より詳細な情報は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_linkdatasource.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_linkdatasource.jsp」を実行します。
/* ws_linkdatasource.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"); // change to the password of the account above rsr.setOrgId(1); rsr.setFunction("LINKDATASOURCE"); rsr.setSourceId(74374); AdministrationDataSourceClientLink link = new AdministrationDataSourceClientLink(); link.setSourceId(74376); rsr.setSourceClientLink(link); 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の指定したデータソースを削除する場合に使用します。IDを提供することで、データソースを特定することができます。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「DELETESOURCE」に設定します。 |
Parameters | String[] | 削除するデータソースのIDです。 |
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("DELETESOURCE");
ID、またはUUIDを提供することで、削除するデータソースを指定します。
rsr.setParameters(new String[] { "40563" });
リクエストを構成したら、呼び出しを実行します。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、StatusCodeが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_deletesource.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_deletesource.jsp」を実行します。
<% /* ws_deletesource.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.*" %> AdministrationServiceResponse rs = null; AdministrationServiceRequest rsr = new AdministrationServiceRequest(); AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080, "/services/AdministrationService", false); AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts.getAdministrationService(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("DELETESOURCE"); //Specify the data source to be deleted by providing its ID rsr.setParameters(new String[] { "40567" }); rs = rssbs.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode())) { out.write("Success </br>"); } else { out.write(rs.getStatusCode()); out.write(rs.toString()); }