コンテンツフォルダー管理 web サービス
YUKA SAITO
以下のwebサービスは、(以前までカテゴリー・サブカテゴリーと表記していた)レポート、ダッシュボード、その他コンテンツを保存するYellowfinのフォルダー・サブフォルダーを管理するために使用します。
こちらのwebサービスは、Yellowfinの閲覧ページのすべてのカテゴリー・サブカテゴリー(現在は、フォルダー・サブフォルダー)を返します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「GETCATEGORIES」に設定します。 |
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> <orgRef>org1</orgRef> <function>GETCATEGORIES</function> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
ContentResources | ContentResource[] | フォルダー・サブフォルダ―の詳細を含むオブジェクト配列です。 |
応答の例
サービスは今回のSOAPの例に基づき、以下の応答を返します。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <return> <contentResources> <resourceCode>AUDITREPORTS</resourceCode> <resourceDescription>Audit Reports</resourceDescription> <resourceId>56339</resourceId> <resourceName>Audit Reports</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTCATEGORY</resourceType> <resourceUUID>a6bdc6b5-a832-42a2-98c7-18273900d0aa</resourceUUID> </contentResources> <contentResources> <resourceCode>ADMINREPORTS</resourceCode> <resourceDescription>Admin Reports</resourceDescription> <resourceId>56340</resourceId> <resourceName>Admin Reports</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>f7fb32b7-1573-4899-916f-c34afb9a865d</resourceUUID> </contentResources> <contentResources> <resourceCode>CONTENTUSAGE</resourceCode> <resourceDescription>Content Usage</resourceDescription> <resourceId>56341</resourceId> <resourceName>Content Usage</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>6bae5230-c1f9-4491-8a8b-f14b1ae660d7</resourceUUID> </contentResources> <contentResources> <resourceCode>USERACCESS</resourceCode> <resourceDescription>User Access</resourceDescription> <resourceId>56342</resourceId> <resourceName>User Access</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>0c7ddde4-fa03-4e88-b37b-7b5e4aad5e1d</resourceUUID> </contentResources> <contentResources> <resourceCode>TUTORIAL</resourceCode> <resourceDescription>Tutorial</resourceDescription> <resourceId>60706</resourceId> <resourceName>Tutorial</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTCATEGORY</resourceType> <resourceUUID>a23c2ec6-a2fa-45c7-b5da-dcf3f02e6633</resourceUUID> </contentResources> <contentResources> <resourceCode>ATHLETES</resourceCode> <resourceDescription>Athletes</resourceDescription> <resourceId>60707</resourceId> <resourceName>Athletes</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>72e4b4bd-a482-4a01-a031-c6ab76dbb3a5</resourceUUID> </contentResources> <contentResources> <resourceCode>CAMP</resourceCode> <resourceDescription>Camp</resourceDescription> <resourceId>60708</resourceId> <resourceName>Camp</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>465411e5-594b-478e-af64-c0f59fc4546f</resourceUUID> </contentResources> <contentResources> <resourceCode>KPIS</resourceCode> <resourceDescription>KPIs</resourceDescription> <resourceId>60709</resourceId> <resourceName>KPIs</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>d514c643-dc01-4781-8905-d34e761ccd19</resourceUUID> </contentResources> <contentResources> <resourceCode>MARKETINGBOOKING</resourceCode> <resourceDescription>Marketing & Booking</resourceDescription> <resourceId>60710</resourceId> <resourceName>Marketing & Booking</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>dbe6d0a3-c088-4d71-b65a-f383aaa54be9</resourceUUID> </contentResources> <contentResources> <resourceCode>TRAINING</resourceCode> <resourceDescription>Training</resourceDescription> <resourceId>60711</resourceId> <resourceName>Training</resourceName> <resourceOrgId>1</resourceOrgId> <resourceType>RPTSUBCATEGORY</resourceType> <resourceUUID>c503ea57-cc69-43a9-98bc-a90ebbe1c864</resourceUUID> </contentResources> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>fd3afecb73fe48578501f29e4d00065b</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("GETCATEGORIES");
リクエストを構成したら、呼び出しを実行してサーバをテストします。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
フォルダー・サブフォルダーの詳細を含む応答を取得するために、以下のコードを追加します。(詳細は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] cr = rs.getContentResources(); for (ContentResource x: cr){ out.write("resourceCode: " + x.getResourceCode() + "<br>"); out.write("resourceDescription: " + x.getResourceDescription() + "<br>"); out.write("resourceId: " + x.getResourceId() + "<br>"); out.write("resourceName: " + x.getResourceName() + "<br>"); out.write("resourceOrgId: " + x.getResourceOrgId() + "<br>"); out.write("resourceType: " + x.getResourceType() + "<br>"); out.write("resourceUUID: " + x.getResourceUUID() + "<br><br>"); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_getcategories.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getcategories.jsp」を実行します。
<% /* ws_getcategories.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("GETCATEGORIES"); //rsr.setOrgRef("org1"); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] cr = rs.getContentResources(); for (ContentResource x: cr){ out.write("resourceCode: " + x.getResourceCode() + "<br>"); out.write("resourceDescription: " + x.getResourceDescription() + "<br>"); out.write("resourceId: " + x.getResourceId() + "<br>"); out.write("resourceName: " + x.getResourceName() + "<br>"); out.write("resourceOrgId: " + x.getResourceOrgId() + "<br>"); out.write("resourceType: " + x.getResourceType() + "<br>"); out.write("resourceUUID: " + x.getResourceUUID() + "<br><br>"); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
こちらのwebサービスは、Yellowfinの閲覧ページのすべてのカテゴリー・サブカテゴリー(現在は、フォルダー・サブフォルダ―)で、(有効化されていない)ドラフト(編集中)モードのものを返します。
注意:Yellowfin 7.3からカテゴリー・サブカテゴリーは、ドラフト(編集中)として保存することができないため、これは古いバージョンのYellowfinにのみ関連する機能です。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「GETDRAFTCATEGORIES」に設定します。 |
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> <orgRef>org1</orgRef> <function>GETDRAFTCATEGORIES</function> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
応答パラメーター
返される応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。
|
ContentResources | ContentResource[] | ドラフト(編集中)のフォルダー・サブフォルダーの詳細を含むオブジェクト配列です。 |
応答の例
サービスは今回のSOAPの例に基づき、以下の応答を返します。
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <return> <contentResources> <resourceCode>REPORTS</resourceCode> <resourceDescription>Reports</resourceDescription> <resourceId>73674</resourceId> <resourceName>Reports</resourceName> <resourceOrgId>13004</resourceOrgId> <resourceType>RPTCATEGORY</resourceType> <resourceUUID>3bc780d7-6638-4520-b233-77ad6e24ae3d</resourceUUID> </contentResources> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>3f09ab77656b3632ab05786aa0fa4570</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("GETDRAFTCATEGORIES");
リクエストを構成したら、呼び出しを実行してサーバをテストします。
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。
フォルダー・サブフォルダーの詳細を含む応答を取得するために、以下のコードを追加します。(詳細は、上記応答パラメーターの表を参照してください)
if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] cr = rs.getContentResources(); for (ContentResource x: cr){ out.write("resourceCode: " + x.getResourceCode() + "<br>"); out.write("resourceDescription: " + x.getResourceDescription() + "<br>"); out.write("resourceId: " + x.getResourceId() + "<br>"); out.write("resourceName: " + x.getResourceName() + "<br>"); out.write("resourceOrgId: " + x.getResourceOrgId() + "<br>"); out.write("resourceType: " + x.getResourceType() + "<br>"); out.write("resourceUUID: " + x.getResourceUUID() + "<br><br>"); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); }
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_getdraftcategories.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getdraftcategories.jsp」を実行します。
<% /* ws_getdraftcategories.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("GETDRAFTCATEGORIES"); //rsr.setOrgRef("org1"); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); ContentResource[] cr = rs.getContentResources(); for (ContentResource x: cr){ out.write("resourceCode: " + x.getResourceCode() + "<br>"); out.write("resourceDescription: " + x.getResourceDescription() + "<br>"); out.write("resourceId: " + x.getResourceId() + "<br>"); out.write("resourceName: " + x.getResourceName() + "<br>"); out.write("resourceOrgId: " + x.getResourceOrgId() + "<br>"); out.write("resourceType: " + x.getResourceType() + "<br>"); out.write("resourceUUID: " + x.getResourceUUID() + "<br><br>"); } } else { out.write("<br>Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
こちらのwebサービスは、Yellowfinの閲覧ページから特定のカテゴリー・サブカテゴリー(現在は、フォルダー・サブフォルダー)を削除します。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
Function | String | Webサービス関数です。こちらは、「DELETECATEGORY」に設定します。 |
ContentResources | ContentResource[] | 削除するカテゴリー(フォルダー)の説明を含むContent Resourcesのオブジェクト配列です。以下の表を参照してください。 |
OrgRef | String | 特定のクライアント組織上でこのサービスを使用するためのクライアント組織参照IDです。こちらを指定しない場合はデフォルト組織が選択されます。 |
以下はContentResourceオブジェクト内で提供される必須パラメーターです。
ContetType | FavouriteType | CreationCode |
ResourceType | String | コンテンツのタイプを指定します。これはRPTCATEGORY、またはRPTSUBCATEGORYのいずれかを設定します。 |
ResourceCode | String | コンテンツタイプに固有のコードです。 ヒント:ResourceCodeが不明の場合は、GETCATEGORIESの呼び出しを実行するか、Yellowfinのデータベースを直接検索することで見つけることができます。 以下の場合は、RefTypeCode IN(「RPTCATEGORY」、「RPTSUBCATEGORY」)を使用して、orgReferenceCodeDesデータベーステーブルにフィルターを適用します。
|
リクエストの例
以下は、こちらのリクエストの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>DELETECATEGORY</function> <contentResources> <resourceTyp>RPTSUBCATEGORY</resourceTyp> <resourceCode>SUBCAT2ORG1</resourceCode> </contentResources> </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>359f5fce5ce26028acb2432720995a62</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("DELETECATEGORY");
削除するカテゴリー、またはフォルダーの詳細を渡します。
ContentResource[] cr = new ContentResource[1]; cr[0] = new ContentResource(); cr[0].setResourceType("RPTSUBCATEGORY"); cr[0].setResourceCode("SUBCAT2ORG1"); // my sub category or subcategory code rsr.setContentResources(cr);
リクエストを構成したら、呼び出しを実行してサーバをテストします。
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_deletecategory.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_deletecategory.jsp」を実行します。
<% /* ws_deletecategory.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 the password of the account above rsr.setOrgId(1); rsr.setFunction("DELETECATEGORY"); rsr.setOrgRef("org1"); ContentResource[] cr = new ContentResource[1]; cr[0] = new ContentResource(); cr[0].setResourceType("RPTSUBCATEGORY"); cr[0].setResourceCode("SUBCAT2ORG1"); // my sub category or subcategory code rsr.setContentResources(cr); 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サービスの呼び出しを使用して、個人またはグループのREADレコードを特定のコンテンツIDに追加します。適切な個人、またはグループにアクセスを付与するには、AdministrationPerson、またはAdministrationGroup オブジェクトのいずれかが必要です。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
OrgRef | String | 特定のクライアント組織上でこのサービスを使用するためのクライアント組織参照IDです。こちらを指定しない場合はデフォルト組織が選択されます。 |
Function | String | Webサービス関数です。こちらは、「ADDTOACL」に設定します。 |
Parameters | String Array | ここでは2つのパラメーターを使用できます。
|
AdministrationPerson | Integer | アクセスを付与するユーザーです。アクセスを付与するためにユーザーのIpId Integerを使用します。 これは<group>が渡される場合は、パラメーターとして渡す必要はありません。 |
AdministrationGroup | Integer | アクセスを付与するグループです。アクセスを付与するためにグループのGroupId Integerを使用します。 これは<person>が渡される場合は、パラメーターとして渡す必要はありません。 |
リクエストの例
以下は、こちらのリクエストの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>dev@yellowfin.com.au</loginId> <password>test</password> <orgId>1</orgId> <function>ADDTOACL</function> <parameters> <Item>79303</Item> <Item>DELETE</Item> </parameters> <group> <AdministrationGroup>13402</AdministrationGroup> </group> </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: dev@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>9204e289ced6e9ea7ed52b3cc5765663</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
Yellowfin webservices APIを使用するのではなく、Javaで生成されたスタブを使用して、シングルサインオンの基本リクエストを開始します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("dev@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1);
コンテンツカテゴリー(コンテンツフォルダー)をContentManagementIdとともリストアップし、呼び出しを実行します。
rsr.setFunction("GETCONTENT"); rsr.setParameters(new String[] { "CATEGORIES" }); rs = rssbs.remoteAdministrationCall(rsr); for (ContentResource cr : rs.getContentResources()) { out.write("ResourceId: " + cr.getResourceId() + "<BR>"); out.write("Resource Name: " + cr.getResourceName() + "<BR>"); out.write("Resource Description: " + cr.getResourceDescription() + "<BR>"); out.write("Resource Code: " + cr.getResourceCode()+ "<BR>"); out.write("Resource UUID: " + cr.getResourceUUID()+ "<BR>"); out.write("Resource Type: " + cr.getResourceType()+ "<BR><BR>"); }
ACLに追加します。
out.write("Adding to ACL <BR>"); rsr.setFunction("ADDTOACL");
サブカテゴリー(サブフォルダー)のContentManagement IDパラメーターを設定します。
rsr.setParameters(new String[] { "79303", "READ" });
アクセスレベルを付与するために、個人またはグループを渡します。
boolean forGroup = true; if (forGroup) { AdministrationGroup ag = new AdministrationGroup(); ag.setGroupId(13402); rsr.setGroup(ag); } else { AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("dev@yellowfin.com.au"); ap.setPassword("test"); rsr.setPerson(ap); }
リモートwebサービス呼び出しを実行し、個人またはグループの新しいステータスを返します。
rs = rssbs.remoteAdministrationCall(rsr); out.write("Status: " + rs.getStatusCode())
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_addtoacl.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザー、クライアント組織の詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_addtoacl.jsp」を実行します。
<% /* ws_addtoacl.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("dev@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("GETCONTENT"); rsr.setParameters(new String[] { "CATEGORIES" }); rs = rssbs.remoteAdministrationCall(rsr); for (ContentResource cr : rs.getContentResources()) { out.write("ResourceId: " + cr.getResourceId() + "<BR>"); out.write("Resource Name: " + cr.getResourceName() + "<BR>"); out.write("Resource Description: " + cr.getResourceDescription() + "<BR>"); out.write("Resource Code: " + cr.getResourceCode()+ "<BR>"); out.write("Resource UUID: " + cr.getResourceUUID()+ "<BR>"); out.write("Resource Type: " + cr.getResourceType()+ "<BR><BR>"); } out.write("Adding to ACL <BR>"); rsr.setFunction("ADDTOACL"); rsr.setParameters(new String[] { "79303", "READ" }); boolean forGroup = true; if (forGroup) { AdministrationGroup ag = new AdministrationGroup(); ag.setGroupId(13402); rsr.setGroup(ag); } else { AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("dev@yellowfin.com.au"); ap.setPassword("test"); rsr.setPerson(ap); } rs = rssbs.remoteAdministrationCall(rsr); out.write("Status: " + rs.getStatusCode()); %>
このwebサービスの呼び出しを使用して、特定のコンテンツIDから個人またはグループのアクセスを削除します。アクセスを削除するには、AdministrationPerson、またはAdministrationGroup オブジェクトのいずれかが必要です。
リクエストパラメーター
以下の要素は、こちらのリクエストとともに渡されます。
リクエスト要素 | データ型 | 説明 |
LoginId | String | Yellowfin Webサービスに接続する管理者アカウントです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 |
Password | String | 上記アカウントのパスワードです。 |
OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 |
OrgRef | String | 特定のクライアント組織上でこのサービスを使用するためのクライアント組織参照IDです。こちらを指定しない場合はデフォルト組織が選択されます。 |
Function | String | Webサービス関数です。こちらは、「DELETEFROMACL」に設定します。 |
Parameters | String Array | アクセスを無効にするコンテンツのContentManagementId Integerです。このパラメーターは常に必要です。 |
AdministrationPerson | Integer | アクセスを付与するユーザーです。アクセスを付与するためにユーザーのIpId Integerを使用します。 これは<group>が渡される場合は、パラメーターとして渡す必要はありません。 |
AdministrationGroup | Integer | アクセスを付与するグループです。アクセスを付与するためにグループのGroupId Integerを使用します。 これは<person>が渡される場合は、パラメーターとして渡す必要はありません。 |
リクエストの例
以下は、こちらのリクエストの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>dev@yellowfin.com.au</loginId> <password>test</password> <orgId>1</orgId> <function>DELETEFROMACL</function> <parameters> <Item>79303</Item> </parameters> <group> <AdministrationGroup>13402</AdministrationGroup> </group> </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: dev@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>9204e289ced6e9ea7ed52b3cc5765663</sessionId> <statusCode>SUCCESS</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
Yellowfin webservices APIを使用するのではなく、Javaで生成されたスタブを使用して、シングルサインオンの基本リクエストを開始します。
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("dev@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1);
コンテンツカテゴリー(コンテンツフォルダー)をContentManagementIdとともリストアップし、呼び出しを実行します。
rsr.setFunction("GETCONTENT"); rsr.setParameters(new String[] { "CATEGORIES" }); rs = rssbs.remoteAdministrationCall(rsr); for (ContentResource cr : rs.getContentResources()) { out.write("ResourceId: " + cr.getResourceId() + "<BR>"); out.write("Resource Name: " + cr.getResourceName() + "<BR>"); out.write("Resource Description: " + cr.getResourceDescription() + "<BR>"); out.write("Resource Code: " + cr.getResourceCode()+ "<BR>"); out.write("Resource UUID: " + cr.getResourceUUID()+ "<BR>"); out.write("Resource Type: " + cr.getResourceType()+ "<BR><BR>"); }
DELETEの呼び出しを追加します。
out.write("Deleting from ACL <BR>"); rsr.setFunction("DELETEFROMACL");
サブカテゴリー(サブフォルダー)のContentManagement IDパラメーターを設定します。
rsr.setParameters(new String[] { "79303" });
アクセスレベルを付与するために、個人またはグループを渡します。
boolean forGroup = true; if (forGroup) { AdministrationGroup ag = new AdministrationGroup(); ag.setGroupId(13402); rsr.setGroup(ag); } else { AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("dev@yellowfin.com.au"); ap.setPassword("test"); rsr.setPerson(ap); }
リモートwebサービス呼び出しを実行し、個人またはグループの新しいステータスを返します。
rs = rssbs.remoteAdministrationCall(rsr); out.write("Status: " + rs.getStatusCode())
完成例
以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_deletefromacl.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザー、クライアント組織の詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_deletefromacl.jsp」を実行します。
<% /* ws_deletefromacl.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("dev@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setFunction("GETCONTENT"); rsr.setParameters(new String[] { "CATEGORIES" }); rs = rssbs.remoteAdministrationCall(rsr); for (ContentResource cr : rs.getContentResources()) { out.write("ResourceId: " + cr.getResourceId() + "<BR>"); out.write("Resource Name: " + cr.getResourceName() + "<BR>"); out.write("Resource Description: " + cr.getResourceDescription() + "<BR>"); out.write("Resource Code: " + cr.getResourceCode()+ "<BR>"); out.write("Resource UUID: " + cr.getResourceUUID()+ "<BR>"); out.write("Resource Type: " + cr.getResourceType()+ "<BR><BR>"); } out.write("Deleting from ACL <BR>"); rsr.setFunction("DELETEFROMACL"); rsr.setParameters(new String[] { "79303" }); boolean forGroup = true; if (forGroup) { AdministrationGroup ag = new AdministrationGroup(); ag.setGroupId(13402); rsr.setGroup(ag); } else { AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("dev@yellowfin.com.au"); ap.setPassword("test"); rsr.setPerson(ap); } rs = rssbs.remoteAdministrationCall(rsr); out.write("Status: " + rs.getStatusCode()); %>