On Demand Read
OnDemandRead interrogates a meter for the usage at the current point in time.
Composite Properties
| Property Name | Default Value | Description | 
|---|---|---|
| CB_ServerCallbackEndpoint | http:/[SERVER_NAME]/soa-infra/services/DG/OnDemandRead/CB_Server | The default endpoint to which MultiSpeak should send the asynchronous CB_Server callback | 
| IsExecutingOnDemandReadRequestReceived | true | Controls whether the Request Received callout executes | 
| IsExecutingOnDemandReadRequestReceivedResponse | true | Controls whether the Request Received Completed callout executes | 
| IsExecutingReadingChangedNotification | true | Controls whether the Reading Changed Notification arrival callout executes | 
| CallbackTimeoutYears | 0 | The number of years to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
| CallbackTimeoutMonths | 0 | The number of months to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
| CallbackTimeoutDays | 0 | The number of days to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
| CallbackTimeoutHours | 0 | The number of hours to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
| CallbackTimeoutMinutes | 0 | The number of minutes to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
| CallbackTimeoutSeconds | 45 | The number of seconds to await a response from the MultiSpeak server. This property only takes effect when the expTime element is not supplied in the input to the service. | 
Composite WSDLs
| Composite | Description | 
|---|---|
| OnDemandReadService | Entry point for the OnDemandRead operation. After a synchronous reply, further updates will be sent to the specified location asynchronously using DG-ReadingChangedNotification. | 
| CB_ServerService | MultiSpeak WSDL hosted to receive asynchronous ReadingChangedNotification callbacks from the head end system. | 
| MR_ServerProxy | Reference describing the proxy used to invoke the head end system to initiate a On Demand Read. | 
| MR_ServerCallout | Reference describing the process callout used when initiating a On Demand Read. | 
| CB_ServerCallout | Reference describing the process callout used when the asynchronous callback from the head end system arrives. | 
| AuxilaryRoutines | Reference to common helper routines in the Common composite. | 
| DG-ReadingChangedNotificationXAI | A reference to an inbound web service capable of processing asynchronous results from a On Demand Read request. | 
Process Flow
- 
SGG/OUAF invokes InitiateMeterReadingsByMeterID operation using OnDemandReadService. 
- 
Composite properties are loaded. Local variables are initialized. 
- 
Test whether the input includes a expiration time - 
If Yes: Use AuxilaryRoutines to compute timeout 
- 
If No: Use composite properties and AuxiliaryRoutines to compute expiration time 
 
- 
- 
Both the Header and Body inputs are transformed to MultiSpeak format. 
- 
If required, execute a process callout in MR_ServerCallout. Assign updated data to head end request. 
- 
Add a callback URL to the head end request. This is the endpoint the head end will use to send the results. 
- 
Invoke InitiateMeterReadingsByMeterID via the MR_ServerProxy to the head end system. 
- 
If required, execute a process callout in MR_ServerCallout. Assign updated data to head end response. 
- 
Transform Header and Body head end responses to SGG/OUAF format 
- 
Reply to SGG/OUAF with synchronous results 
- 
Check for ErrorObject in the head end response. 
- 
If error object not found - 
Await asynchronous response from head end for the period of expiration time calculated during start of this flow- 
Receive ReadingChangedNotification from CB_ServiceService. 
- 
Generate reply with no errors for ReadingChangedNotification. 
- 
Synchronously reply to the head end. 
- 
If required, execute a process callout in CB_ServerCallout. Assign updated data to the incoming request. 
- 
Transform Header and Body of incoming request to OUAF inbound web service format described in DG-ReadingChangedNotificationXAI. 
- 
If request contains responseURL - 
Invoke the inbound web service on given responseURL with the transformed incoming request. 
 
- 
- 
Else - 
Invoke the inbound web service on definedURL with the transformed incoming request. 
 
- 
 
- 
 
- 
