30日間の無料評価版をお試しいただけます。

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

 

Yellowfinのスケジュール管理webサービスのデータ構造は、二つの主要なオブジェクト(抽象型)であるAdministrationScheduleScheduleFrequencyから成り立ちます。AdministrationScheduleは、オブジェクトサブタイプを決定するコードを含む、すべてのスケジュールの共通属性を示し、最も重要な点は、ScheduleFrequencyオブジェクトを含むことです。ScheduleFrequencyオブジェクトは、すべての頻度タイプの共通データを保持し、スケジュールを編集する主要な方法です。AdministrationScheduleとScheduleFrequencyの両者は、Yellowfinで利用可能なスケジュールと頻度の各タイプを示すいくつかの具象classを持ちます。これらの具象classは、クライアント側の検証でタイプ固有のスケジュールや頻度データにアクセスし、操作するためのユーザーフレンドリーなメソッドが含まれていますが、これは、Javaバインディングを使用する場合に限られます。

 

AdministrationScheduleの大部分の属性は、isActive属性を除き、編集することができません。これは、属性がサービスバックエンドから無視されることを意味するだけで、Bean自体は編集することができるに注意してください。

 

こちらのwebサービスは、OrgIdパラメーターで指定された組織内で、利用可能なすべてのスケジュールを読み込みます。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「LISTSCHEDULES」に設定します。

 

リクエストの例

以下は、こちらのリクエストの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>LISTSCHEDULES</function>
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationSchedule[]こちらは、利用可能なすべてのスケジュールを表示するAdministrationScheduleオブジェクトの配列を含みます。

応答の例

サービスは、今回の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>
            <schedules xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            <schedules>
               <frequency>
                  <frequencyCode>MONDAY</frequencyCode>
                  <frequencyUnit>1</frequencyUnit>
                  <localRunTime>0</localRunTime>
                  <localTimezoneCode>AUSTRALIA/SYDNEY</localTimezoneCode>
               </frequency>
               <lastRunDateTimeGMT>2018-02-25T00:00:00+11:00</lastRunDateTimeGMT>
               <lastRunStatus>SUCCESS</lastRunStatus>
               <nextRunDateTimeGMT>2018-03-12T00:00:00+11:00</nextRunDateTimeGMT>
               <scheduleActive>true</scheduleActive>
               <scheduleDescription>Athlete</scheduleDescription>
               <scheduleUUID>75a2f5b5-162b-49b5-b197-53643f7dc0de</scheduleUUID>
            </schedules>
            <schedules xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            <schedules>
               <frequency>
                  <frequencyCode>SATURDAY</frequencyCode>
                  <frequencyUnit>6</frequencyUnit>
                  <localRunTime>0</localRunTime>
                  <localTimezoneCode>AUSTRALIA/SYDNEY</localTimezoneCode>
               </frequency>
               <nextRunDateTimeGMT>2018-03-10T00:00:00+11:00</nextRunDateTimeGMT>
               <scheduleActive>false</scheduleActive>
               <scheduleDescription>Common Filters</scheduleDescription>
               <scheduleUUID>fa757330-b4a8-4047-9b96-745a48b1d1b7</scheduleUUID>
            </schedules>
            <schedules xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
            <schedules>
               <frequency>
                  <frequencyCode>SATURDAY</frequencyCode>
                  <frequencyUnit>6</frequencyUnit>
                  <localRunTime>0</localRunTime>
                  <localTimezoneCode>AUSTRALIA/SYDNEY</localTimezoneCode>
               </frequency>
               <lastRunDateTimeGMT>2018-02-19T00:00:00+11:00</lastRunDateTimeGMT>
               <lastRunError>com.hof.util.ActionErrorsException: java.lang.NullPointerException</lastRunError>
               <lastRunStatus>FAILURE</lastRunStatus>
               <nextRunDateTimeGMT>2018-03-10T00:00:00+11:00</nextRunDateTimeGMT>
               <scheduleActive>false</scheduleActive>
               <scheduleDescription>Common Filters</scheduleDescription>
               <scheduleUUID>f732c7a4-b81a-4788-8038-6771229596c1</scheduleUUID>
            </schedules>
            <sessionId>ba906c4149a72b2f3c750467a31adf72</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organization
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("LISTSCHEDULES");
  • 特定のクライアント組織を識別することもできます。

     

    rsr.setOrgRef("org1");
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます:StatusCodeとSchedules。(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_listschedules.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_listschedules.jsp」を実行します。

/*
 * LISTSCHEDULES Example. ws_listschedules.jsp
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="com.hof.mi.web.service.schedule.*" %>
<%@ page import="com.hof.web.form.*" %>
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("LISTSCHEDULES");
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    AdministrationSchedule[] schedules = rs.getSchedules();
    out.write("Loaded " + schedules.length + " schedules: <br>");
     
    for (AdministrationSchedule as: schedules) {
        out.write("Schedule " + as.getScheduleUUID() + "<br>");
    }
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、指定したスケジュールを読み込むために使用します。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「LOADCHEDULE」に設定します。

ParametersString[]読み込まれるスケジュールのUUIDです。これは、渡されるパラメーター配列の最初の要素に設定しなくてはいけません。また、既存のUUIDである必要があります。

 

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationSchedule[]こちらは、指定したスケジュールを表示するAdministrationScheduleオブジェクトの配列を含みます。

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("LOADSCHEDULE");
  • スケジュールのUUIDを渡すために、パラメーター属性を使用します。

     

    // This is the Yellowfin Schedule UUID. Adjust this value
    String[] parameters ={
    "SOME_UUID"
    };
    rsr.setParameters(parameters);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます:StatusCodeとSchedules。(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_loadschedule.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザー、スケジュールUUID値の詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_loadschedule.jsp」を実行します。

/*
 * LOADSCHEDULE Example.    ws_loadschedule.jsp.
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("LOADSCHEDULE");
 
// existing Schedule UUID to load. Adjust this value
String[] parameters = {
    "SOME_UUID"
};
rsr.setParameters(parameters);
 
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    AdministrationSchedule schedule = rs.getSchedule();
    out.write("Loaded schedule: " + schedule.getScheduleUUID() + "<br>");
     
    out.write("Schedule Type: " + schedule.getScheduleTypeCode() + "<br>");
    out.write("Description: " + schedule.getScheduleDescription() + "<br>");
    out.write("Is Active: " + schedule.isScheduleActive() + "<br>");
    out.write("Last Run Status: " + schedule.getLastRunStatus() + "<br>");
    out.write("Last Run Error: " + schedule.getLastRunError() + "<br>");
    out.write("Last Run Date: " + schedule.getLastRunDateTimeGMT() + "<br>");
    out.write("Next Run Date: " + schedule.getNextRunDateTimeGMT() + "<br>");
     
    // Some schedule types have extra information that you can access, see reference for details
    if (schedule instanceof ReportRefreshSchedule) {
        ReportRefreshSchedule rrs = (ReportRefreshSchedule)schedule;
        out.write("Report To Refresh: " + rrs.getReportId() + "<br>");
    }
     
    // these values all have different meanings depending on FrequencyType, see reference for details
    out.write("Frequency Type: " + sched.getFrequency().getFrequencyTypeCode() + "<br>");
    out.write("Frequency Code: " + sched.getFrequency().getFrequencyCode() + "<br>");
    out.write("Frequency Unit: " + sched.getFrequency().getFrequencyUnit() + "<br>");
    out.write("Frequency Local Time: " + sched.getFrequency().getLocalRunTime() + "<br>");
    out.write("Frequency Local Timezone: " + sched.getFrequency().getLocalTimezoneCode() + "<br>");
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、単一のスケジュールを保存します。AdministrationScheduleオブジェクトを使用して、保存するスケジュールの詳細を渡します。応答は、新しい詳細とともにこちらのオブジェクトを返します。これは、新規スケジュールの作成は行いませんが、既存のスケジュールの詳細を更新する点に注意してください。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「SAVESCHEDULE」に設定します。

SchedulesAdministrationSchedule保存するスケジュールの詳細を含むオブジェクトです。以下のを参照してください。

 

以下のパラメーターは、こちらの関数のAdministrationScheduleオブジェクトに含める必要があります。

AdministrationSchedule要素データ型説明
ScheduleUUIDString追加するスケジュールのUUIDです。
FrequencyScheduleFrequencyこちらのスケジュールの編集可能な頻度オプションを定義するScheduleFrequencyオブジェクトです。以下のを参照してください。

 

頻度オブジェクトでは、各ScheduleFrequencyタイプに応じて、必要な値は異なりますが、すべて頻度タイプが以下のフィールドを含みます。

パラメーターデータ型説明
FrequencyTypeCodeString頻度情報の解釈方法を説明します。
FrequencyCodeString頻度タイプコードに応じて、異なる意味合いを持ちます。
FrequencyUnitInteger頻度タイプコードに応じて、異なる意味合いを持ちます。
LocalRunTimeInteger

このスケジュールを指定された日に実行する午前0時からの秒数です。

LocalTimezoneCodeString

実行するスケジュールのJavaタイムゾーンオフセットコードです。

 

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationSchedule

こちらのオブジェクトは、スケジュールの更新詳細を含みます。

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("SAVESCHEDULE");
  • スケジュールを更新する場合、通常はまずスケジュールを読み込んでから更新をしますが、書き込み可能なアイテムは、FrequencyとisActiveパラメーターのみのため、スケジュールのUUIDが既に明確な場合は、最初に読み込みをしなくても構いません。

     

    // This is the AdministrationSchedule which should be saved
    AdministrationSchedule s = new AdministrationSchedule();
    s.setScheduleUUID("SOME_KNOWN_EXISTING_UUID");
    s.setActive(true);
     
    // define the frequency information
    ScheduleFrequency f = new MinutesFrequency();
    f.setMinutes(5);
    s.setFrequency(f);
     
    // set the schedule in the request
    rsr.setSchedule(s);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます:StatusCodeとSchedules。(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_saveschedule.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_ saveschedule.jsp」を実行します。

/*
 * SAVESCHEDULE Example.    ws_ saveschedule.jsp.
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("SAVESCHEDULE");
 
// normally you would load a schedule first and do some sort of modification
AdministrationSchedule editingSchedule = new AdministrationSchedule();
editingSchedule.setScheduleUUID("SOME_UUID");
editingSchedule.setScheduleActive(true);
 
ScheduleFrequency newFreq = new WeeklyFrequency();
newFreq.setDayOfWeek(ScheduleFrequency.MONDAY);
newFreq.setLocalRunTime(3 * 60 * 60); // 9am
newFreq.setLocalTimezoneCode("AUSTRALIA/SYDNEY");
 
editingSchedule.setFrequency(newFreq);
rsr.setSchedule(editingSchedule);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    AdministrationSchedule updatedSchedule = rs.getSchedule();
    out.write("Loaded schedule: " + updatedSchedule.getScheduleUUID() + "<br>");
     
    out.write("Schedule Type: " + updatedSchedule.getScheduleTypeCode() + "<br>");
    out.write("Description: " + updatedSchedule.getScheduleDescription() + "<br>");
    out.write("Is Active: " + updatedSchedule.isScheduleActive() + "<br>");
    out.write("Last Run Status: " + updatedSchedule.getLastRunStatus() + "<br>");
    out.write("Last Run Error: " + updatedSchedule.getLastRunError() + "<br>");
    out.write("Last Run Date: " + updatedSchedule.getLastRunDateTimeGMT() + "<br>");
    out.write("Next Run Date: " + updatedSchedule.getNextRunDateTimeGMT() + "<br>");
     
    // Some schedule types have extra information that you can access, see reference for details
    if (schedule instanceof ReportRefreshSchedule) {
        ReportRefreshSchedule rrs = (ReportRefreshSchedule)schedule;
        out.write("Report To Refresh: " + rrs.getReportId() + "<br>");
    }
     
    // these values all have different meanings depending on FrequencyType, see reference for details
    out.write("Frequency Type: " + updatedSchedule.getFrequency().getFrequencyTypeCode() + "<br>");
    out.write("Frequency Code: " + updatedSchedule.getFrequency().getFrequencyCode() + "<br>");
    out.write("Frequency Unit: " + updatedSchedule.getFrequency().getFrequencyUnit() + "<br>");
    out.write("Frequency Local Time: " + updatedSchedule.getFrequency().getLocalRunTime() + "<br>");
    out.write("Frequency Local Timezone: " + updatedSchedule.getFrequency().getLocalTimezoneCode() + "<br>");
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、指定したスケジュルを削除するために使用します。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「DELETESCHEDULE」に設定します。

ParametersString[]削除するスケジュールのUUIDです。これは、渡されるパラメーター配列の最初の要素として設定されなくてはいけません。また、既存のUUIDである必要があります。

 

リクエストの例

以下は、こちらのリクエストの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>DELETESCHEDULE</function>
            <parameters>
                <string>75a2f5b5-162b-49b5-b197-53643f7dc0de</string>
            </parameters>             
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

応答の例

サービスは、今回の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>7b8e70f20d25079f86cf26f5712d15f9</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("DELETESCHEDULE");
  • 削除する既存のスケジュールを指定します。

     

    // This is the Yellowfin Schedule UUID
    String[] parameters ={
    "SOME_UUID"
    };
    rsr.setParameters(parameters);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、StatusCodeパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_deleteschedule.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザー、スケジュールUUID値の詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_deleteschedule.jsp」を実行します。

/*
 * DELETESCHEDULE Example.        ws_deleteschedule.jsp
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("DELETESCHEDULE");
 
String scheduleUUID = "SOME_UUID";
// existing Schedule UUID to delete
String[] parameters = {
    scheduleUUID
};
rsr.setParameters(parameters);
 
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    out.write("Successfully deleted schedule: " + scheduleUUID);
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、実行するスケジュールを送信します。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「RUNSCHEDULENOW」に設定します。

ParametersString[]実行するスケジュールのUUIDです。これは、渡されるパラメーター配列の最初の要素として設定されなくてはいけません。また、既存のUUIDである必要があります。

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationScheduleこちらのオブジェクトは、実行をリクエストするスケジュールの詳細を含みます。

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("RUNSCHEDULENOW");
  • 実行する既存のスケジュールを指定します。

     

    // This is the Yellowfin Schedule UUID
    String[] parameters ={
    "SOME_UUID"
    };
    rsr.setParameters(parameters);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます。:StatusCodeとSchedules(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_runschedulenow.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザー、スケジュールUUID値の詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_runschedulenow.jsp」を実行します。

/*
 * RUNSCHEDULENOW Example.     ws_runschedulenow.jsp
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("RUNSCHEDULENOW");
 
// existing Schedule UUID to submit for running
String scheduleUUID = "SOME_UUID";
String[] parameters = {
    scheduleUUID
};
rsr.setParameters(parameters);
 
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    out.write("Successfully submitted schedule " + scheduleUUID + " to be run.");
 
    // NOTE: some properties like last run status/date, etc will not yet be updated,
    // since this call only submits the schedule for run and does not wait until it is complete.
    AdministrationSchedule updatedSchedule = rs.getSchedule();
    out.write("Loaded schedule: " + updatedSchedule.getScheduleUUID() + "<br>");
     
    out.write("Schedule Type: " + updatedSchedule.getScheduleTypeCode() + "<br>");
    out.write("Description: " + updatedSchedule.getScheduleDescription() + "<br>");
    out.write("Is Active: " + updatedSchedule.isScheduleActive() + "<br>");
    out.write("Last Run Status: " + updatedSchedule.getLastRunStatus() + "<br>");
    out.write("Last Run Error: " + updatedSchedule.getLastRunError() + "<br>");
    out.write("Last Run Date: " + updatedSchedule.getLastRunDateTimeGMT() + "<br>");
    out.write("Next Run Date: " + updatedSchedule.getNextRunDateTimeGMT() + "<br>");
     
    // Some schedule types have extra information that you can access, see reference for details
    if (schedule instanceof ReportRefreshSchedule) {
        ReportRefreshSchedule rrs = (ReportRefreshSchedule)schedule;
        out.write("Report To Refresh: " + rrs.getReportId() + "<br>");
    }
     
    // these values all have different meanings depending on FrequencyType, see reference for details
    out.write("Frequency Type: " + updatedSchedule.getFrequency().getFrequencyTypeCode() + "<br>");
    out.write("Frequency Code: " + updatedSchedule.getFrequency().getFrequencyCode() + "<br>");
    out.write("Frequency Unit: " + updatedSchedule.getFrequency().getFrequencyUnit() + "<br>");
    out.write("Frequency Local Time: " + updatedSchedule.getFrequency().getLocalRunTime() + "<br>");
    out.write("Frequency Local Timezone: " + updatedSchedule.getFrequency().getLocalTimezoneCode() + "<br>");
 
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、スケジュールを中断します。ここでの「中断」とは、定期スケジュールを中断しますが、現在実行中や実行待ちのスケジュールには影響を与えず、将来的に実行される予定のスケジュールを停止することを意味します。

注意:これは、スケジュールを中断する簡潔な方法です。これは、スケジュールを読み込み、ステータスをfalseに更新し、保存することでも達成できます。

 

リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「PAUSESCHEDULE」に設定します。

ParametersString[]中断するスケジュールのUUIDです。これは、渡されるパラメーター配列の最初の要素として設定されなくてはいけません。また、既存のUUIDである必要があります。

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationScheduleこちらのオブジェクトは、中断をリクエストするスケジュールの詳細を含みます。

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("PAUSESCHEDULE");
  • 定期スケジュールを中断する既存のスケジュールを指定します。

     

    // This is the Yellowfin Schedule UUID
    String[] parameters ={
    "SOME_UUID"
    };
    rsr.setParameters(parameters);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます。:StatusCodeとSchedules(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_pauseschedule.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザー、スケジュールUUID値の詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_pauseschedule.jsp」を実行します。

/*
 * PAUSESCHEDULE Example.       ws_pauseschedule.jsp
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("PAUSESCHEDULE");
 
// existing Schedule UUID to submit for running
String scheduleUUID = "SOME_UUID";
String[] parameters = {
    scheduleUUID
};
rsr.setParameters(parameters);
 
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    out.write("Successfully paused schedule " + scheduleUUID);
     
    AdministrationSchedule updatedSchedule = rs.getSchedule();
    out.write("Loaded schedule: " + updatedSchedule.getScheduleUUID() + "<br>");
     
    out.write("Schedule Type: " + updatedSchedule.getScheduleTypeCode() + "<br>");
    out.write("Description: " + updatedSchedule.getScheduleDescription() + "<br>");
    out.write("Is Active: " + updatedSchedule.isScheduleActive() + "<br>");
    out.write("Last Run Status: " + updatedSchedule.getLastRunStatus() + "<br>");
    out.write("Last Run Error: " + updatedSchedule.getLastRunError() + "<br>");
    out.write("Last Run Date: " + updatedSchedule.getLastRunDateTimeGMT() + "<br>");
    out.write("Next Run Date: " + updatedSchedule.getNextRunDateTimeGMT() + "<br>");
     
    // Some schedule types have extra information that you can access, see reference for details
    if (schedule instanceof ReportRefreshSchedule) {
        ReportRefreshSchedule rrs = (ReportRefreshSchedule)schedule;
        out.write("Report To Refresh: " + rrs.getReportId() + "<br>");
    }
     
    // these values all have different meanings depending on FrequencyType, see reference for details
    out.write("Frequency Type: " + updatedSchedule.getFrequency().getFrequencyTypeCode() + "<br>");
    out.write("Frequency Code: " + updatedSchedule.getFrequency().getFrequencyCode() + "<br>");
    out.write("Frequency Unit: " + updatedSchedule.getFrequency().getFrequencyUnit() + "<br>");
    out.write("Frequency Local Time: " + updatedSchedule.getFrequency().getLocalRunTime() + "<br>");
    out.write("Frequency Local Timezone: " + updatedSchedule.getFrequency().getLocalTimezoneCode() + "<br>");
 
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

こちらのwebサービスは、中断したスケジュールを再開します。ここでの「再開」とは、定期スケジュールを再開し、即座に実行待ちにはしませんが、次のスケジュールされた日時に再実行するために実行待ちにします。

注意:これは、スケジュールを再開する簡潔な方法です。これは、スケジュールを読み込み、ステータスをtrueに更新し、保存をすることでも達成できます。


リクエストパラメーター

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

Function

String

Webサービス関数です。こちらは、「RESUMESCHEDULE」に設定します。

ParametersString[]再開するスケジュールのUUIDです。これは、渡されるパラメーター配列の最初の要素として設定されなくてはいけません。また、既存のUUIDである必要があります。

応答パラメーター

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
SchedulesAdministrationScheduleこちらのオブジェクトは、再開をリクエストするスケジュールの詳細を含みます。

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
    rsr.setLoginId(this.username);
    rsr.setPassword(this.password);
    // This is the primary organisation
    rsr.setOrgId(new Integer(1));
     
    rsr.setFunction("RESUMESCHEDULE");
  • 定期スケジュールを再開する既存のスケジュールを指定します。

     

    // This is the Yellowfin Schedule UUID
    String[] parameters ={
    "SOME_UUID"
    };
    rsr.setParameters(parameters);
  • リクエストを構成したら、呼び出しを実行します。

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

    管理webサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます。:StatusCodeとSchedules(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_resumeschedule.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザー、スケジュールUUID値の詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_resumeschedule.jsp」を実行します。

/*
 * RESUMESCHEDULE Example.          ws_resumeschedule.jsp
 * A more complete example can be found in ws_admin_schedule_management.jsp
 */
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page import="java.text.*"
<%@ page import="java.util.*"
<%@ page import="com.hof.mi.web.service.*"
<%@ page import="com.hof.mi.web.service.schedule.*"
<%@ page import="com.hof.web.form.*"
 
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 above account
rsr.setOrgId(1);
rsr.setFunction("RESUMESCHEDULE");
 
// existing Schedule UUID to submit for running
String scheduleUUID = "SOME_UUID";
String[] parameters = {
    scheduleUUID
};
rsr.setParameters(parameters);
 
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
    out.write("Successfully resumed schedule " + scheduleUUID);
     
    AdministrationSchedule updatedSchedule = rs.getSchedule();
    out.write("Loaded schedule: " + updatedSchedule.getScheduleUUID() + "<br>");
     
    out.write("Schedule Type: " + updatedSchedule.getScheduleTypeCode() + "<br>");
    out.write("Description: " + updatedSchedule.getScheduleDescription() + "<br>");
    out.write("Is Active: " + updatedSchedule.isScheduleActive() + "<br>");
    out.write("Last Run Status: " + updatedSchedule.getLastRunStatus() + "<br>");
    out.write("Last Run Error: " + updatedSchedule.getLastRunError() + "<br>");
    out.write("Last Run Date: " + updatedSchedule.getLastRunDateTimeGMT() + "<br>");
    out.write("Next Run Date: " + updatedSchedule.getNextRunDateTimeGMT() + "<br>");
     
    // Some schedule types have extra information that you can access, see reference for details
    if (schedule instanceof ReportRefreshSchedule) {
        ReportRefreshSchedule rrs = (ReportRefreshSchedule)schedule;
        out.write("Report To Refresh: " + rrs.getReportId() + "<br>");
    }
     
    // these values all have different meanings depending on FrequencyType, see reference for details
    out.write("Frequency Type: " + updatedSchedule.getFrequency().getFrequencyTypeCode() + "<br>");
    out.write("Frequency Code: " + updatedSchedule.getFrequency().getFrequencyCode() + "<br>");
    out.write("Frequency Unit: " + updatedSchedule.getFrequency().getFrequencyUnit() + "<br>");
    out.write("Frequency Local Time: " + updatedSchedule.getFrequency().getLocalRunTime() + "<br>");
    out.write("Frequency Local Timezone: " + updatedSchedule.getFrequency().getLocalTimezoneCode() + "<br>");
 
     
} else {
    out.write("Failure");
    out.write(" Code: " + rs.getErrorCode() );
}

 

 

 


  • No labels