その他のwebサービス
- Yellowfin Admin
- YUKA SAITO
こちらの項目では、その他のwebサービスについて紹介します。
テスト関数
以下のwebサービスはテストや、その他基礎的な関数に使用することができます。
こちらの関数は、Yellowfinサーバが有効かどうかを確認するテスト呼び出しの実行に使用します。サーバとの接続が確立されるとSuccessメッセージを返し、失敗した場合はFailureメッセージを返します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「TEST」に設定します。 |
リクエストの例
以下は、こちらのリクエストの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> <orgRef>org1</orgRef> <function>TEST</function> </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>0c411f82a9f04ddc6c3336a6da294761</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("TEST");
リクエストを構成したら、呼び出しを実行してサーバをテストします。
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_test.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_test.jsp」を実行します。
<% /* ws_test.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 according to your setting 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("TEST"); 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サーバが有効かどうかをテストするために使用することができます。サーバとの接続を試行し、Success、またはFailureの応答を返します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「INFO」に設定します。 |
リクエストの例
以下は、こちらのリクエストの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> <orgRef>org1</orgRef> <function>INFO</function> </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>45a10389d35349476efd2c8246d72b69</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("INFO");
リクエストを構成したら、呼び出しを実行してサーバをテストします。
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_info.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_info.jsp」を実行します。
<% /* ws_info.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 according to your setting 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("INFO"); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); } */ %>
SQLクエリー関数
こちらの関数は、SQLクエリーを使用してYellowfinデータベースを管理するために使用します。例えば、SELECTコマンドを使用してデータベースから情報を取得したり、DELETEやINSERTを使用してデータベーステーブルを管理することもできます。この関数は、データベースのパスワードを要求しますが、これは以下に示す設定を変更することで無効にすることもできます。
ご利用の環境でこの機能を有効化し、設定を変更する方法は、以下をクリックして確認してください。
- WEB-INFディレクトリから「web.xml」ファイルを開きます(appserver\webapp\ROOT\WEB-INF\web.xml)。
ファイルのMIStartupサーブレット項目に以下のコードを追加します。
<init-param> <param-name>EnableQueryWebservice</param-name> <param-value>TRUE</param-value> </init-param>
この関数はデフォルトでデータベースパスワードを要求しますが、以下のコードをファイル内の同様の項目に追加することで、これを無効にすることができます。必要ない場合は、この手順をスキップしてください。
<init-param> <param-name>DisableQueryWebservicePassword</param-name> <param-value>TRUE</param-value> </init-param>
- web.xmlファイルを保存し、実行していた場合はYellowfinを再起動します。
- こちらのwebサービスが有効化されていない場合は、METADATASQLQUERYの呼び出しを実行した後に、Yellowfinログに「Query Webservice not enabled(クエリーwebサービスが有効化されていません)」というエラーが表示されます。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「METADATASQLQUERY」に設定します。 |
Query | String | Yellowfinデータベース上で実行するSQLクエリーです。 |
Parameter | String[] | Yellowfinデータベースのパスワードを渡すために使用します。(パスワードとして設定することのできる)配列の最初の要素のみ要求されますが、(上記手順で明記しているように)こちらの要件を無効にする場合は、このパラメーターは要求されません。 |
リクエストの例
以下は、こちらのリクエストの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>METADATASQLQUERY</function> <query>SELECT * FROM person</query> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
QueryResults | ReportRow | SELECTがリクエストクエリーだった場合の結果セットのロウ(行)の配列です。 |
応答の例
サービスは今回の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>5</dataValue> <dataValue>Administrator</dataValue> <dataValue>System</dataValue> <dataValue/> <dataValue/> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue>ATMN SSTM</dataValue> <dataValue/> <dataValue>System Administrator</dataValue> <dataValue>System Administrator</dataValue> <dataValue>EN</dataValue> <dataValue>PRIVATE</dataValue> <dataValue>4</dataValue> <dataValue>EMAIL</dataValue> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue>AUSTRALIA/SYDNEY</dataValue> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <dataValue>ACTIVE</dataValue> </queryResults> <sessionId>804451ca30ad4a3065e4b67a9293440c</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("METADATASQLQUERY");
実行するSQLクエリーを提供します。
rsr.setQuery("SELECT * FROM configuration WHERE ConfigTypeCode = 'SYSTEM'");
リクエストを構成したら、呼び出しを実行してサーバをテストします。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
応答を取得するために以下のコードを追加します。(詳細は上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ReportRow[] rows = rs.getQueryResults(); if (rows != null) for (ReportRow rr: rows){ String[] str = rr.getDataValue(); out.write("<br>"); for (String s: str) out.write("<br>" + s); } } else { out.write("<br>Failure"); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_metadatasqlquery.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_metadatasqlquery.jsp」を実行します。
<% /* ws_metadatasqlquery.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("METADATASQLQUERY"); rsr.setQuery("SELECT * FROM configuration WHERE ConfigTypeCode = 'SYSTEM'"); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ReportRow[] rows = rs.getQueryResults(); if (rows != null) for (ReportRow rr: rows){ String[] str = rr.getDataValue(); out.write("<br>"); for (String s: str) out.write("<br>" + s); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); } %>