Deprecated Interface Methods¶
Scheduling WCF Gateway Supported Methods¶
The Scheduling Gateway provides an alternative means of sending data to the system. It can also be used to query for output from the system, or even for specific data queries relating to particular activities or resources.
The Scheduling Gateway is a WCF service. In order to use any of the methods successfully you must first call the 'Logon' method and provide a username and password. This will return a session token which must be used in all later requests.
The Scheduling Gateway is intended to provide a single secure point of entry for sending and receiving data when using a cloud environment (though it can equally be used in a non-cloud environment). The intention has been to keep as close as possible to the existing model to make it easier for existing customers to use this functionality. In particular, the Scheduling Gateway can be used in conjunction with a Schedule Data Adaptor service running locally to replicate the behaviour of dropping data in an input folder and receiving plans broadcast to an output folder.
Note
A .NET sample application can be provided on request which shows how to send data to and receive data from the Scheduling Gateway.
The Scheduling Gateway interface supports the following methods for interacting with the Scheduling System. Each method has the parameters listed after the title followed by a note on how to use it.
Data Request Methods¶
SubmitData¶
SubmitDataResponse \IFS\Scheduling\Gateway\Service\Data\SubmitData(SubmitDataRequest oRequest)
This method is used to submit data to the scheduling system. The SubmitDataRequest object contains the following properties:
- InputXML - input data conforming to an IFS PSO schema
- DataType - identifies the type of schema of the data: SCHEDULE = 0, SYSTEM = 4, MODELLING = 5
- GroupId
- SendSynchronous
- TaskDuration
- TaskId
- SessionToken - Authenticates the request
The SubmitDataResponsee contains the following properties:
- Result - indicates the success of the call: SUCCESS = 0, AUTHENTICATION_FAILED = 1, UNEXPECTED_ERROR = 2, FAILED = 3, DATA_LIMITS_EXCEEDED = 4, DATASET_NOT_FOUND = 5, CONNECTION_FAILED = 6, CREATE_FAILED = 7, UPDATE_FAILED = 8, READ_FAILED = 9, DELETE_FAILED = 10, VERIFY_FAILED = 11, SEND_VERIFICATION_FAILED = 12, INVALID_REQUEST = 13, INVALID_REMOTING_STRING = 14, INVALID_TASKID = 15, INVALID_PORTAL_PROXY = 16, INVALID_REMOTE_ENDPOINT = 17, NO_OUTPUT = 18, NOT_IMPLEMENTED = 19, INVALID_CLOUD_BROADCAST_TYPE = 20, INVALID_ORGANISATIONS = 21, INACTIVE_ORGANISATION = 22, INVALID_ORGANISATION = 23, UNLICENCED_ORGANISATION = 24
- TaskId - Identifies the task processing the request
- InternalId - Identifies the data internally
SubmitDataCompressed¶
SubmitDataResponse \IFS\Scheduling\Gateway\Service\Data\SubmitData(SubmitDataCompressedRequest oRequest)
This method is equivalent to SubmitData. The SubmitDataCompressedRequest replaces the InputXML property of the SubmitDataRequest with an InputData property that contains a byte array of compressed xml data conforming to an IFS PSO schema.
GetStatus¶
GetStatusResponse \IFS\Scheduling\Gateway\Service\Data\GetStatus(GetStatusRequest oRequest)
This method is used to check the status of a task, and to check if output is available. If a broadcast is specified this will simply return whether output is available for that particular broadcast. Otherwise this will return whether any plans have been produced since the last load was submitted, and for static datasets, whether the dataset is complete. On a portal system tasks may also be queued, and this is returned in the status.
GetResults¶
GetResultsResponse \IFS\Scheduling\Gateway\Service\Data\GetResults(GetResultsRequest oRequest)
This method is used to retrieve output from the scheduling system. A broadcast id can be included in the request, in which case the gateway will return the output for this broadcast. The broadcast type on the Broadcast row in the input data must be 'POLLING'. The data returned will be the data requested in the broadcast.
If no broadcast id is provided then the Gateway will return the latest complete plan from the QMS. In this case there are options to return only the input data, only the output data, or both.
GetResultsCompressed¶
GetResultsCompressedResponse \IFS\Scheduling\Gateway\Service\Data\
GetResultsCompressed(GetResultsCompressedRequest oRequest)
This method is equivalent to GetResults. The GetResultsCompressedResponse replaces the OutputXML property of the GetResultsResponse with an OutputData property that contains a byte array of compressed xml data conforming to an IFS PSO schema.
RequestAppointments¶
GetDataResponse \IFS\Scheduling\Gateway\Service\Data\RequestAppointments(GetDataRequest oRequest)
This method is used to synchronously request appointment offers from the scheduling system. The SubmitDataRequest object contains the data to be sent (as a string), and the resulting offers are returned in the GetResultsResponse. There is also an alternative method where the data is sent compressed.
Note
The RequestAppointments and RequestAppointmentsCompressed endpoints can be used with both blocking and non-blocking appointment booking. In particular, these endpoints can be used for both the request and confirmation steps involved in non-blocking appointment booking. For further details of the steps involved in blocking and non-blocking appointment booking, please consult the Scheduling Concepts - Appointment Booking guide.
RequestAppointmentsCompressed¶
GetDataCompressedResponse \IFS\Scheduling\Gateway\Service\Data\
RequestAppointmentsCompressed(GetDataRequest oRequest)
This method is equivalent to RequestAppointments. The GetDataCompressedResponse replaces the XMLData property of the GetDataResponse with an CompressedData property that contains a byte array of compressed xml data conforming to an IFS PSO schema.
Session Management Methods¶
The supported session management methods are detailed below. All other session management methods are for internal use only.
Logon¶
LogonResponse \IFS\Scheduling\Gateway\Service\Session\Logon(LogonRequest oLogonRequest)
This method creates a session in the scheduling system database and returns a session token which must them be sent with all other queries. The LogonRequest includes an organisation id, a username and a password, which must map to a known user in the scheduling system database.
Logoff¶
LogoffResponse \IFS\Scheduling\Gateway\Service\Session\Logoff(LogoffRequest oLogoffRequest)
This method logs off an existing session.
ValidateSession¶
ValidateSessionResponse \IFS\Scheduling\Gateway\Service\Session\
ValidateSession(ValidateSessionRequest oValidateSessionRequest)
This method checks whether an existing session is still valid.
System Management Methods¶
GetSystemStatus¶
GetSystemStatusResponse \IFS\Scheduling\Gateway\Service\SystemManagement\
GetSystemStatus(Request oRequest)
This method returns the latest system status logged in the system database. The Request object is just a basic request object containing the session token. The GetSystemStatusResponse object contains the following properties:
- Id - A unique integer id for the status update (ids are increasing).
- LastStatusTime - The time that the last update occurred.
- TotalDSECapability - The total capability of all DSEs running on the system, including overload factor.
- TotalLiveFootprint - The total footprint of all scheduling datasets running live on the system.
- TotalWaitingFootprint - The total footprint of all scheduling datasets in waiting state on the system.
- RecentErrorCount - The number of recent errors logged in the system.
- RecentWarningCount - The number of recent warnings logged in the system.
- LicencedCustomerName - The name of the customer appearing in the main system licence.
- LastSystemTestTime - The time that the last system test was run (or min datetime if no system test has been run).
- LastSystemTestSuccessful - A true/false value indicating the success of the last system test run.
- LastSystemTestTimeTaken - The total time taken for the last system test run. Note that this vary quite significantly due to variable delays in starting to process the new dataset.
- LastSystemTestTimeTakenDSE - The time taken internally by the DSE to generate a plan for the last system test run.
- LastSystemTestQueryDuration - The time taken to query the schedule query manager for the plan during the last system test run.
GetScheduleDataUsage¶
GetScheduleDataUsageResponse \IFS\Scheduling\Gateway\Service\SystemManagement\
GetScheduleDataUsage(GetScheduleDataUsageRequest oRequest)
This method returns information about the usage of the scheduling database. The GetScheduleDataUsageRequest object contains the following properties:
- MaximumDateTime - The maximum date and time at which the system event occurred
- MinimumDateTime - The minimum date and time at which the system event occurred
- CompressResponse - Notes whether to compress the response data (defaulted to true)
- SessionToken - Authenticates the request
The GetScheduleDataUsageResponse object contains the following properties:
- CompressedData - If GetScheduleDataUsageRequest.CompressResponse is true then this contains a byte array of compressed xml data
- XMLData - If GetScheduleDataUsageRequest.CompressResponse is false then this contains a string of xml data<< /li>
The usage data contained within the xml has the following fields:
- organisation_id - the organisation that the usage applied to
- datetime_stamp - the date and time at which the usage was logged
- value - the usage data
- usage_type_id - contains the following values (indicating the type of data stored in the row: ResourceCount = 0, ActivityCount = 1, ScheduleWindowLength = 2, AppopintmentBookingLength = 3, DatasetCount = 4
- id - uniquely identifies the row
GetApplicationInstanceStatistics¶
GetApplicationInstanceStatisticsResponse \IFS\Scheduling\Gateway\Service\SystemManagement\
GetApplicationInstanceStatistics(GetApplicationInstanceStatisticsRequest oRequest)
This method returns the latest statistics for each service. For more information about statistic logging, see the Administration Guide.
The GetApplicationInstanceStatisticsRequest contains the following properties:
- ServerInstanceId - Specifies the server instance the logging should be gathered from. Can be left as null to get statistics from all servers
- LanguageId - The language for statistic messages. Leave blank to use your default language
The GetApplicationInstanceStatisticsResponse contains a list of ApplicationInstanceStatistics, which each contain the following properties:
- ApplicationInstanceId - The application instance that logged the statistic
- ApplicationTypeId - The type of application that logged the statistic
- StatisticType - The name for the type of statistic
- DateStamp - The time at which the statistic was logged
- Value - The numerical value for the statistic (meaning varies depending on statistic type)
- ServerInstanceId - The id for the server instance the statistic was logged from
Scheduling WCF Gateway Internal Methods¶
Warning
The following gateway methods are for internal use, and should not be used in production or UAT environments.
- Broadcast360
- Broadcast360Workbench
- GetStatuses
- GetBatchResultsCompressed
- GetActivityData
- GetActivityDataCompressed
- GetResourceData
- GetResourceDataCompressed
- GetInputData
- GetInputDataCompressed
- CreateOrganisation
- DeleteOrganisation
- GetStatistic