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

  1. SGG/OUAF invokes InitiateMeterReadingsByMeterID operation using OnDemandReadService.

  2. Composite properties are loaded. Local variables are initialized.

  3. 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

  4. Both the Header and Body inputs are transformed to MultiSpeak format.

  5. If required, execute a process callout in MR_​ServerCallout. Assign updated data to head end request.

  6. Add a callback URL to the head end request. This is the endpoint the head end will use to send the results.

  7. Invoke InitiateMeterReadingsByMeterID via the MR_​ServerProxy to the head end system.

  8. If required, execute a process callout in MR_​ServerCallout. Assign updated data to head end response.

  9. Transform Header and Body head end responses to SGG/OUAF format

  10. Reply to SGG/OUAF with synchronous results

  11. Check for ErrorObject in the head end response.

  12. 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.