com.ibm.soa.parlayx21.payment
Interface ReserveVolumeCharging

All Superinterfaces:
java.rmi.Remote
All Known Subinterfaces:
ReserveVolumeCharging_RI
All Known Implementing Classes:
ReserveVolumeChargingBindingStub, ReserveVolumeChargingProxy

public interface ReserveVolumeCharging
extends java.rmi.Remote

The interface containing the operations to manage reservation charging by amount.


Method Summary
 void chargeReservation(java.lang.String reservationIdentifier, long volume, java.lang.String billingText, java.lang.String referenceCode)
          This operation results in charging to a volume reservation indicated by the reservation id.
 ChargingInformation getAmount(java.net.URI endUserIdentifier, long volume, Property[] parameters)
          This operation returns the amount resulting from converting the given volume.
 void releaseReservation(java.lang.String reservationIdentifier)
          This operation returns the funds left in a volume reservation indicated by reservation id to the account from which this reservation was made.
 void reserveAdditionalVolume(java.lang.String reservationIdentifier, long volume, java.lang.String billingText)
          This operation adds/subtracts a volume to/from an existing volume reservation indicated by the reservation id.
 java.lang.String reserveVolume(java.net.URI endUserIdentifier, long volume, java.lang.String billingText, Property[] parameters)
          This operation reserves a volume for an account indicated by the end user identifier.
 

Method Detail

getAmount

ChargingInformation getAmount(java.net.URI endUserIdentifier,
                              long volume,
                              Property[] parameters)
                              throws java.rmi.RemoteException,
                                     PolicyException,
                                     ServiceException

This operation returns the amount resulting from converting the given volume. The end user identifier is given to indicate the subscriber for whom this calculation must be made. The message returns a currency amount if successful.

The following properties may be provided:
  * unit, specifying the unit used for measuring volume (for example, bytes);
  * contract, number of a contract that may govern the use;
  * service, name of the service to be used (for example, SendMessageService);
  * operation, name of the operation to be used (for example, sendMessage).

Referenced faults

ServiceException from ES 202 391-1 [2]:
  * SVC0001 - Service error.
  * SVC0002 - Invalid input value.

PolicyException from ES 202 391-1 [2]:
  * POL0001 - Policy error.

Parameters:
endUserIdentifier - xsd:anyURI The end user's account to be charged
volume - xsd:long The volume to be converted
parameters - Property [0..unbounded] Parameters to use to perform rating ('unit', 'contract', 'service', 'operation')
Returns:
resultamount common:Charging Information

The conversion process results in the return of a ChargingInformation structure, where the description, amount and currency elements must be non-null.

Throws:
java.rmi.RemoteException
PolicyException
ServiceException

reserveVolume

java.lang.String reserveVolume(java.net.URI endUserIdentifier,
                               long volume,
                               java.lang.String billingText,
                               Property[] parameters)
                               throws java.rmi.RemoteException,
                                      PolicyException,
                                      ServiceException

This operation reserves a volume for an account indicated by the end user identifier. Note that reservations do not last forever; it is assumed the default reservation enforcement time is negotiated off-line. If the reservation times out, the remaining volume will be returned to the account from which this reservation was made. However, the remaining volume should preferably be returned explicitly to the account using the releaseReservation operation. The billing text field is used for textual information to appear on the bill. Subsequent textual information provided during this charging session will be appended to this textual information; one charging session to a reservation will result in only one entry on the bill. In case of success, a reservation identifier is returned for future reference; e.g. subsequent charging against the existing reservation using the chargeReservation operation.

Referenced faults

ServiceException from ES 202 391-1 [2]:
  * SVC0001 - Service error.
  * SVC0002 - Invalid input value.

PolicyException from ES 202 391-1 [2]:
  * POL0001 - Policy error.

Parameters:
endUserIdentifier - xsd:anyURI The end user's account subject to the reservation
volume - xsd:long The volume of the reservation
billingText - xsd:string Textual information to appear on the bill
parameters - Property [0..unbounded]

Parameters to use to perform rating (“unit”, “contract”, “service”, “operation”). There is a maximum of one instance of each parameter type. Example, for the request “reserve 5 minutes of the gold video service”, the volume part value is 5 and the parameters part has the following properties:
  * “unit”=minutes
  * “contract”=gold
  * “service”=video

Returns:
reservationIdentifierresult xsd:string It is an identifier for the newly created reservation

Throws:
java.rmi.RemoteException
PolicyException
ServiceException

reserveAdditionalVolume

void reserveAdditionalVolume(java.lang.String reservationIdentifier,
                             long volume,
                             java.lang.String billingText)
                             throws java.rmi.RemoteException,
                                    PolicyException,
                                    ServiceException

This operation adds/subtracts a volume to/from an existing volume reservation indicated by the reservation id. Note that reservations do not last forever; it is assumed the default reservation enforcement time is negotiated off-line. Invoking this message will extend the reservation enforcement time for another off-line-negotiated period. The billing text field is used for appending textual information to appear on the bill. The textual information is appended to the initial textual information given by the reserveVolume operation; one charging session to a reservation will result in only one entry on the bill. A reserved credit can be returned to the account through the releaseReservation operation.

Referenced faults

ServiceException from ES 202 391-1 [2]:
  * SVC0001 - Service error.
  * SVC0002 - Invalid input value.

PolicyException from ES 202 391-1 [2]:
  * POL0001 - Policy error.

Parameters:
reservationIdentifier - xsd:string An identifier for the reservation to be amended
volume - xsd:long The volume to be added to (or subtracted from) the reservation. [Note the associated rating parameters are the same as those defined in the parameters part of the original reserveVolumeRequest message.]
billingText - xsd:string Textual information to appear on the bill
Throws:
java.rmi.RemoteException
PolicyException
ServiceException

chargeReservation

void chargeReservation(java.lang.String reservationIdentifier,
                       long volume,
                       java.lang.String billingText,
                       java.lang.String referenceCode)
                       throws java.rmi.RemoteException,
                              PolicyException,
                              ServiceException

This operation results in charging to a volume reservation indicated by the reservation id. Reservations, identified by reservation id., are established through invoking the reserveVolume operation. Optionally, the billing text field can be used for appending textual information to appear on the bill. The textual information is appended to the initial textual information given by the reserveVolume operation; one charging session to a reservation will result in only one entry on the bill. The reference code is used to uniquely identify the request; it is the application's responsibility to provide a unique reference code within the scope of the application.

Referenced faults

ServiceException from ES 202 391-1 [2]:
  * SVC0001 - Service error.
  * SVC0002 - Invalid input value.
  * SVC0270 - Charge failed.

PolicyException from ES 202 391-1 [2]:
  * POL0001 - Policy error.

Parameters:
reservationIdentifier - xsd:string An identifier for the reservation to be charged
volume - xsd:long The volume to be charged. [Note the associated rating parameters are the same as those defined in the parameters part of the original reserveVolumeRequest message.][JR2]
billingText - xsd:string Textual information to appear on the bill (optional)
referenceCode - xsd:string Textual information to uniquely identify the request, for example, in case of disputes
Throws:
java.rmi.RemoteException
PolicyException
ServiceException

releaseReservation

void releaseReservation(java.lang.String reservationIdentifier)
                        throws java.rmi.RemoteException,
                               PolicyException,
                               ServiceException

This operation returns the funds left in a volume reservation indicated by reservation id to the account from which this reservation was made. Reservations, identified by reservation id., are established through invoking the reserveVolume operation.

Referenced faults

ServiceException from ES 202 391-1 [2]:
  * SVC0001 - Service error.
  * SVC0002 - Invalid input value.

PolicyException from ES 202 391-1 [2]:
  * POL0001 - Policy error.

Parameters:
reservationIdentifier - xsd:string An identifier for the reservation to be released
Throws:
java.rmi.RemoteException
PolicyException
ServiceException


Copyright © 2003 IBM Corp. All Rights Reserved.