|
SAP Convergent Charging
Java and XML APIs (Core) |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.highdeal.cnd.message.AsyncBatchServiceClient
public class AsyncBatchServiceClient
This main Java class provides the necessary operations to
implement Offline Charging Services (OFCS) in your SAP system landscape
by using the Message TCP technical interface
with asynchronous communications for the highest throughput performances.
Your client application converts the information data about the customer service usage (service consumption) as chargeable items and sends them to the connected SAP CC Core Server system to charge the past usage (consumption) of a marketable service by end customers; This class enables asynchronous communications via the Message TCP technical interface.
Consider the following information in this topic:
acquire(java.util.List, com.highdeal.cnd.message.AcquisitionListener)
With this Java class, you can implement offline event-based charging services
via the Message TCP high-speed technical interface.
| Business Services: Offline Stateful Charging Services | Operations | Technical Names (Consider the methods in this Java class) | Result Listeners |
|---|---|---|---|
| Chargeable Item Acquisition | Batch acquisition operation | acquire(..)
| AcquisitionListener
|
| Offline Charging | Batch charging operation | batchCharge(..) to a contract or subscription
| BatchChargeEventListener
|
| Special: Event-based Advice of Charge | Blank charging operation | blankCharge(..)
| ChargeEventListener
|
Note
You can implement the rerating end-to-end service (based on provider contracts) by using another communication interface based on SOAP APIs: Refer to the specifications of the Web Services technical interface.
Note
BatchServiceClient class for synchronous communications and high throughput performances.
This charging client benefits
from the functions provided by the Messagte TCP technical interface.
Refer to its features about:
Most of the operation requests are asynchronous and expect a specialized event listener for processing their results
or exceptions in your charging client. These
custom listeners are invoked in your charging client when the business operation is successful with the result of
the operation or when it fails with an exception defining the problem.
Use the SSL Context.
You determine the event listener to develop by viewing the signature of the Java method that you
want to implement or by consulting the Asynchronous Services and Operations section.
See also the ChargeExceptionListener Java interface.
Code Snippet
The following code snippet provides an example of how to initialize a charging client based on the AsyncBatchServiceClient class:
AsyncBatchServiceClient client = new AsyncBatchServiceClient();
try {
client.connect("dispatcher.hostname", 9000);
} catch (IOException e) {
System.out.println("Dispatcher instance is not found. Reason is: "+e.getMessage());
return;
}
Do not forget to close this client when it is no more used to release its resources and nested threads invoking its method {TEST com.highdeal.cnd.message.AsyncBatchServiceClient#close() close()}.
Most of its methods are asynchronous and expect a listener for processing their results or exceptions. These listeners are invoked when the operation is successful with the result of the operation or when it fails with an exception defining the problem.
You can implement this business operation if both SAP Convergent Charging and SAP Convergent Invoicing are in your system landscape. The consumption item management function must be enable in SAP Convergent Invoicing in the SAP ERP/FI-CA system.
Use the method acquire(..) .
To provide your system landscape with rerating services, you must implement the Recharging step of this process. This step follows the correction of the source(s) of the mistakes.
Recommendation
Before implementing these operations, refer to the SAP CC Library (Application Help) for more information about these processes.
Use the following sequence of SAP CC operations to correct subsriptions or charging contracts:
reratingLockCodeinformStartSubscriptionRerating
operation for each subscription or charging contract to lock it and restore the values of its counters
batchCharge(..) operation
or the charge operation
informStopSubscriptionRerating
operation for each subscription or charging contract to unlock it
Consult all the online and offline charging services that you can implement in your Java-based client application.
Consult the SAP CC Library (Application Help) for more information about the Offline Charging Services.
ChargeableItem,
AcquisitionResult,
PurchaseOrder,
BatchChargeResult,
ChargeEventListener,
BatchChargeEventListener| Nested Class Summary | |
|---|---|
protected static interface |
AsyncRatingServiceClient.RegisterListener
|
| Field Summary | |
|---|---|
static int |
ALL_TRANSACTION
Constant to return all the usage transactions |
static int |
ALL_TRANSACTION_AND_RECURRING
Constant to return all the usage transactions and all the recurring/one-shot transactions |
static int |
CANCELLED
Constant to set up the resolution used when the time to live (TTL) is expired as canceled |
static int |
CONFIRMED
Constant to set up the resolution used when the time to live (TTL) is expired as confirmed |
protected java.util.List<AsyncRatingServiceClient.RegisterListener> |
listeners
|
static int |
MASTER_TRANSACTION
Constant to return the master usage transaction |
static int |
NONE_TRANSACTION
Constant to return no usage transaction |
protected com.highdeal.cnd.message.AsyncRatingServiceClient.RLListener |
ratingListListener
|
| Constructor Summary | |
|---|---|
AsyncBatchServiceClient()
Creates a non-initialized charging client
for implementing the offline charging services in your Java-based client application;
Use one of the methods connect(..) must then be used to connect it to the distant SAP CC system. |
|
AsyncBatchServiceClient(java.lang.String hostName,
int port)
Creates a message client and connects it to the distant SAP CC system. |
|
AsyncBatchServiceClient(java.lang.String hostName,
int port,
FoundLostRatingListener ratingListener)
Initializes a message client and connects it to the distant SAP CC system. |
|
AsyncBatchServiceClient(java.lang.String hostName,
int port,
int timeout)
Creates a message client and connects it to the distant SAP CC system. |
|
AsyncBatchServiceClient(java.lang.String hostName,
int port,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener)
Initializes a message client and connects it to the distant SAP CC system |
|
| Method Summary | |
|---|---|
void |
acquire(java.util.List<AcquisitionParameters> parameters,
AcquisitionListener listener)
Asks the server to asynchronously execute a list of acquisition operations. |
protected void |
addListener(AsyncRatingServiceClient.RegisterListener listener)
|
protected void |
asyncSend(com.highdeal.cnd.message.common.CollectorMessage m,
int maxTimeout,
ResponseHandlerWrapper handler,
com.highdeal.util.IEventListener eventListener)
FOR INTERNAL USE ONLY - Sends asynchronously the message m;
When a response or an exception is received by the client application, it must back the response handler. |
void |
batchCharge(java.util.Vector<ChargeParameters> parameters,
java.lang.Long subscriptionOrContractID,
short partitionID,
AccessibleChargeType chargeType,
int ts,
boolean ft,
MessageHeader.TransactionMode tm,
java.lang.String reratingLockCode,
BatchChargeEventListener listener)
Requests the connected SAP CC Core Server system to charge in batch mode a sorted set of chargeable items for the specified user service ID (USID) and service ID (SID) and relating to an already identified subscription or charging contract. |
void |
batchCharge(java.util.Vector<ChargeParameters> parameters,
java.lang.Long subscriptionID,
short partitionID,
int ts,
boolean ft,
MessageHeader.TransactionMode tm,
java.lang.String reratingLockCode,
BatchChargeEventListener listener)
Requests the connected SAP CC Core Server system to charge in batch mode a sorted set of chargeable items for the specified user service ID (USID) and service ID (SID) and relating to an already identified subscription. |
protected void |
beginSession()
FOR INTERNAL USE ONLY - Begins a client session for this thread; All the messages are stored in memory and are not sent until the method sendSession() is called. |
void |
blankCharge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
ChargeEventListener listener)
Asks the server to rate (in blank mode) the specified chargeable item for the specified user service ID and the specified service ID at the specified date. |
void |
charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
ChargeEventListener listener)
Asks the server to rate the specified chargeable item for the specified user service ID and service ID at the specified date. |
void |
charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
java.lang.String reratingLockCode,
ChargeEventListener listener)
Asks the server to charge the specified chargeable item for the specified user service ID and service ID at the specified date. |
protected void |
charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
java.lang.String reratingLockCode,
ChargeExecutionContext context,
ChargeEventListener listener)
(NOT PUBLIC) Asks the server to charge the specified chargeable item for the specified user service ID and service ID at the specified date. |
void |
charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
java.lang.String reratingLockCode,
ChargeExecutionContext context,
ChargeEventListener listener)
Asks the server to charge the specified chargeable item for the specified user service ID and service ID at the specified date. |
void |
close()
Closes the connection with the connected SAP CC system; This method allows to release all the resources
attached (sockets and buffers) in the charging client. |
void |
connect(InstanceMap imap,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
Connects this charging client with the SAP CC system by using an instance map;
A timeout must be specified. |
void |
connect(java.lang.String systemName,
java.net.InetSocketAddress... bootDispatcherAddresses)
Connects this charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape. |
void |
connect(java.lang.String systemName,
com.highdeal.barbus.InstanceAddress... bootDispatcherAddresses)
Connects this charging client with the Rating Instances. |
void |
connect(java.lang.String hostname,
int hostport)
Connects this charging client to the
distant SAP CC Core Server system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
No client timeout is specified. |
void |
connect(java.lang.String hostname,
int port,
boolean secure,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
Connects this message client with the Rating Instances. |
void |
connect(java.lang.String hostname,
int hostport,
FoundLostRatingListener ratingListener)
Connects this charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
No client timeout is specified. |
void |
connect(java.lang.String systemName,
int lookupDuration,
java.net.InetSocketAddress discoveryAddress,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config,
java.net.InetSocketAddress... bootDispatcherAddresses)
Connects this message client with the Rating Instances. |
void |
connect(java.lang.String systemName,
int lookupDuration,
java.net.InetSocketAddress discoveryAddress,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config,
com.highdeal.barbus.InstanceAddress... bootDispatcherAddresses)
Connects this charging client with the SAP CC system by using the UDP discovery function. |
void |
connect(java.lang.String hostname,
int hostport,
int timeout)
Connects this charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
A client timeout must be specified. |
void |
connect(java.lang.String hostname,
int hostport,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener)
Connects this charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape. |
void |
connect(java.lang.String hostname,
int port,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
Connects this message client with the Rating Instances. |
BootMode |
getBootMode()
Returns which API is used to retrieve from the remote instances, the Instance Map needed for the connection. |
protected com.highdeal.barbus.RoundRobinClient |
getClient()
Deprecated. Deprecated since version 2.0 of SAP CC and should not be called anymore |
ClientOpEventListener |
getClientOpEventListener(ClientOpEventTopic topic)
Gets the client operation event listener used by the client for the specified topic. |
protected java.lang.String |
getClusterName()
Deprecated. Deprecated since version 2.0 of SAP CC Gets the system name. |
protected ServiceClientTuning |
getDefaultServiceClientTuning()
Gets the default service tuning of this client useful to configure connections. |
protected com.highdeal.util.IEventListener |
getEventListenerFromListener(java.lang.Object listener)
|
protected FoundLostRatingListener |
getFoundLostRatingListener()
Returns the rating listener previously set. |
protected com.highdeal.barbus.Topic |
getRatingTopic()
Gets the rating topic of this client used to send rating messages. |
protected com.highdeal.cnd.message.sensor.SensorsManager |
getSensorsManager()
|
javax.net.ssl.SSLContext |
getSslContext()
Returns the SSL context used with secure connections. |
int |
getTimeout()
Returns the client communication timeout in milliseconds for each request (or -1 to wait indefinitely). |
protected com.highdeal.barbus.Topic[] |
getTopicsToSubscribe()
Returns an array of topics that client must subscribe to. |
void |
guiderLookup(GuidingRequest[] requests,
GuidingServiceClientListener listener)
See the BatchServiceClient.guiderLookup(com.highdeal.guiding.common.GuidingRequest[]) method for more information and
consider also the necessary listener. |
void |
guiderLookup(GuidingRequest request,
GuidingServiceClientListener listener)
See the BatchServiceClient.guiderLookup(com.highdeal.guiding.common.GuidingRequest) method for more information and
consider also the necessary listener. |
void |
guiderLookup(java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
GuidingServiceClientListener listener)
See the BatchServiceClient.guiderLookup(java.lang.String, java.lang.String, java.util.Date) method for more information and
consider also the necessary listener. |
void |
informStartContractCollectionRerating(java.lang.String reratingLockCode,
short partitionId,
java.util.Date restorationDate,
java.util.List<java.lang.Long> contractIdList,
BatchChargeEventListener listener)
Starts the rerating of a collection of charging contracts. |
void |
informStartSubscriptionRerating(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date restorationDate,
short partitionId,
AccessibleChargeType accessibleChargeType,
BatchChargeEventListener listener)
Starts the rerating of a subscription or charging contract. |
void |
informStopSubscriptionRerating(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date maxConsumptionDate,
java.util.Date activationDate,
short partitionId,
AccessibleChargeType accessibleChargeType,
BatchChargeEventListener listener)
Stops the rerating of a subscription or charging contract. |
void |
informUnlockSubscription(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date maxConsumptionDate,
java.util.Date activationDate,
short partitionId,
BatchChargeEventListener listener)
Deprecated. |
boolean |
isConnected()
Gets the connected connection status. |
boolean |
isNoTimeout()
Checks if this charging client handles timeout. |
protected boolean |
isValid(ChargeableItem ci,
InvalidItemListener listener)
Checks whether the specified chargeable item is valid or not;
A call back listener has to be given to handle errors. |
protected void |
notifyHeartBeat(com.highdeal.barbus.Client client)
|
boolean |
pingReratingOperation(java.lang.String reratingLockCode)
Checks if a rerating operation identified is running. |
protected void |
register(com.highdeal.hmi.IConnectable connectable)
|
protected void |
sendSession()
FOR INTERNAL USE ONLY - All the messages between the last call of the method beginSession() and now for this thread are sent. |
void |
setBootMode(BootMode mode)
Deprecated. |
void |
setClientOpEventListener(ClientOpEventTopic topic,
ClientOpEventListener listener)
Sets the client operation event listener to the specified topics;
It will be notified each time an event corresponding to the registered topics. |
protected void |
setClusterName(java.lang.String name)
Deprecated. Deprecated since version 2.0 of SAP CC |
protected void |
setFoundLostRatingListener(FoundLostRatingListener ratingListener)
Sets the rating listener that will be notified each time a rater instance of the SAP CC system will be
found or lost. |
void |
setHAEventListener(HAEventListener listener)
Deprecated. Deprecated since version 0.0 of SAP CC Sets the |
void |
setNoTimeout(boolean noTimeout)
Sets that this charging client handles timeout. |
void |
setReratingInfoRequestHandler(com.highdeal.barbus.RequestHandler newHandler)
Sets an handler that will react to rerating information published by rerating service server. |
void |
setSslContext(javax.net.ssl.SSLContext sslContext)
Sets the SSL context used with secure connections. |
protected void |
updateHandler(com.highdeal.barbus.ClientRequestHandler requestHandler)
Updates this client with a client request handler. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.util.List<AsyncRatingServiceClient.RegisterListener> listeners
protected final com.highdeal.cnd.message.AsyncRatingServiceClient.RLListener ratingListListener
public static final int NONE_TRANSACTION
public static final int MASTER_TRANSACTION
public static final int ALL_TRANSACTION
public static final int ALL_TRANSACTION_AND_RECURRING
public static final int CANCELLED
public static final int CONFIRMED
| Constructor Detail |
|---|
public AsyncBatchServiceClient()
charging client
for implementing the offline charging services in your Java-based client application;
Use one of the methods connect(..) must then be used to connect it to the distant SAP CC system.
public AsyncBatchServiceClient(java.lang.String hostName,
int port)
throws java.io.IOException
hostName - The host name of the serverport - The communication port on which the server waits for request
java.io.IOException - if the client cannot connect to the server (if server is not running, for instance).
public AsyncBatchServiceClient(java.lang.String hostName,
int port,
int timeout)
throws java.io.IOException
hostName - The host name of the serverport - The port on which the server waits for requesttimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely)
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending request
java.io.IOException - if the client cannot connect to the server (if server is not running, for instance).
public AsyncBatchServiceClient(java.lang.String hostName,
int port,
FoundLostRatingListener ratingListener)
throws java.io.IOException
hostName - The host name of the serverport - The port on which the server waits for requestratingListener - The listener informed when rating is found or lost
java.io.IOException - if the client cannot connect to the servers
public AsyncBatchServiceClient(java.lang.String hostName,
int port,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener)
throws java.io.IOException
hostName - The host name of the serverport - The port on which the server waits for requestbindAddress - timeout - the timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending request.ratingListener - the listener informed when rating is found or lost
java.io.IOException - if the client cannot connect to the servers| Method Detail |
|---|
public void setReratingInfoRequestHandler(com.highdeal.barbus.RequestHandler newHandler)
newHandler - an implementation of an handler
public void charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
java.lang.String reratingLockCode,
ChargeEventListener listener)
This operation may conflict with the prerating feature. Do not use this operation if some preratings are not post-rated.
ci - the ChargeableItem to chargeserviceID - the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - the date the service was consumed by the end customerts - the transaction selection NONE_TRANSACTION,
MASTER_TRANSACTION, ALL_TRANSACTION,
ALL_TRANSACTION_AND_RECURRINGft - sets if the returned transactions must be filtered according to the transactionTemplatereratingLockCode - the rerating operation lock codelistener - the listener in charge for processing the results or exceptions of this operation.
public void charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
java.lang.String reratingLockCode,
ChargeExecutionContext context,
ChargeEventListener listener)
PurchaseOrder.getChargingResults().
The content of the result can be configured using the specified context.
ci - the ChargeableItem to chargeserviceID - the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - the date the service was consumed by the end customerreratingLockCode - the rerating operation lock codecontext - the conditions under which the charge operation must be executed (can be null)listener - the listener in charge for processing the results or exceptions of this operation.
protected void charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
java.lang.String reratingLockCode,
ChargeExecutionContext context,
ChargeEventListener listener)
ci - the ChargeableItem to rate.serviceID - the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - the date the service was consumed by the end customerts - the transaction selection NONE_TRANSACTION,
MASTER_TRANSACTION, ALL_TRANSACTION,
ALL_TRANSACTION_AND_RECURRINGft - sets if the returned transactions must be filtered according to the transactionTemplatereratingLockCode - the rerating operation lock codecontext - the conditions under which the charge operation must be executed (can be null)listener - the listener in charge for processing the results or exceptions of this operation.
public void charge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
ChargeEventListener listener)
ci - the ChargeableItem to rateserviceID - the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - the date the service was consumed by the end customerlistener - the listener in charge for processing the results or exceptions of this operation.
public void blankCharge(ChargeableItem ci,
java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
int ts,
boolean ft,
ChargeEventListener listener)
ci - the ChargeableItem to rate.serviceID - the service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - the user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - the date the service was consumed by the end customerts - the transaction selection NONE_TRANSACTION,
MASTER_TRANSACTION, ALL_TRANSACTION,
ALL_TRANSACTION_AND_RECURRINGft - sets if the returned transactions must be filtered according to the transactionTemplatelistener - the listener in charge for processing the results or exceptions of this operation.
public void guiderLookup(java.lang.String serviceID,
java.lang.String userServiceID,
java.util.Date consumptionDate,
GuidingServiceClientListener listener)
BatchServiceClient.guiderLookup(java.lang.String, java.lang.String, java.util.Date) method for more information and
consider also the necessary listener.
serviceID - The service identifier (SID), which represents a technical identifier of the service provided by the service provideruserServiceID - The user service identifier (USID), which represents a technical identifier of the end customer consuming the serviceconsumptionDate - The date the service was consumed by the end customerlistener - The listener responsible for processing the
results or exceptions of this operation request.
public void guiderLookup(GuidingRequest request,
GuidingServiceClientListener listener)
BatchServiceClient.guiderLookup(com.highdeal.guiding.common.GuidingRequest) method for more information and
consider also the necessary listener.
public void guiderLookup(GuidingRequest[] requests,
GuidingServiceClientListener listener)
BatchServiceClient.guiderLookup(com.highdeal.guiding.common.GuidingRequest[]) method for more information and
consider also the necessary listener.
public void batchCharge(java.util.Vector<ChargeParameters> parameters,
java.lang.Long subscriptionID,
short partitionID,
int ts,
boolean ft,
MessageHeader.TransactionMode tm,
java.lang.String reratingLockCode,
BatchChargeEventListener listener)
ts parameter.
Note
transaction templates assigned to the subscribed offer.
parameters - The chronological list of ChargeParameters to charge in batch modesubscriptionID - The unique ID of the selected subscriptionpartitionID - The identifier of the rating partitionts - The transaction selection NONE_TRANSACTION, MASTER_TRANSACTION,
ALL_TRANSACTION, ALL_TRANSACTION_AND_RECURRINGft - Optional flag to enable the filtering of resulting transactions according to the transaction template
configured in the subscribed offertm - The #@link TransactionMode transaction mode}reratingLockCode - The rerating operation codelistener - The listener used to process the result of the batch charging operation
public void batchCharge(java.util.Vector<ChargeParameters> parameters,
java.lang.Long subscriptionOrContractID,
short partitionID,
AccessibleChargeType chargeType,
int ts,
boolean ft,
MessageHeader.TransactionMode tm,
java.lang.String reratingLockCode,
BatchChargeEventListener listener)
ts parameter.
Note
When dealing with subscriptions:
transaction templates assigned to the subscribed offer.
parameters - The chronological list of ChargeParameters to charge in batch modesubscriptionOrContractID - The unique ID of the selected subscription or charging contractpartitionID - The identifier of the rating partitionchargeType - The type of accessible charge depending on the scope of the batch charging operation: subscription or charging contractts - The transaction selection NONE_TRANSACTION, MASTER_TRANSACTION,
ALL_TRANSACTION, ALL_TRANSACTION_AND_RECURRINGft - Optional flag to enable the filtering of resulting transactions according to the transaction template
configured in the subscribed offer (only relevant for subscriptions)tm - The #@link TransactionMode transaction mode}reratingLockCode - The rerating operation codelistener - The listener used to process the result of the batch charging operation
public void acquire(java.util.List<AcquisitionParameters> parameters,
AcquisitionListener listener)
throws CommunicationFailureException,
ServerFailureException
Asks the server to asynchronously execute a list of acquisition operations.
Acquisition parameters contains a chargeable item and access information (service identifier,
user identifier and consumption date). The acquisition consists in finding the charging contract targeted by the access specified,
and then to export the chargeable item with additional information using the CIF, without performing rating or charging,
for storage purposes.
The acquisition operations are executed in mode most, meaning that if an acquisition operation for a chargeable item fails, the following acquisition operations are executed anyway.
The listener specified as argument is called by the client with a list of acquisition results when the
server responds. Each result corresponds to the acquisition parameters in the same position in the list of parameters specified
as argument. If an acquisition operation fails, the corresponding result contains an exception
which contains details on the error.
Note:
This operation is not allowed if the CIF of the rater instances does not contain a chargeable item processor.
parameters - a list of acquisition parameters to use for the acquisitionlistener - a listener called by the client when the server returns the result of the operation
CommunicationFailureException - if a communication failure occurs during the acquisition of the chargeable items
ServerFailureException - if an unexpected exception occurs during the acquisition of the chargeable items
public void informStartSubscriptionRerating(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date restorationDate,
short partitionId,
AccessibleChargeType accessibleChargeType,
BatchChargeEventListener listener)
throws CommunicationFailureException
Starts the rerating of a subscription or charging contract.
This operation does the following:
reratingLockCode - the rerating operation codesubscriptionId - the unique identifier of the subscription or charging contract to reraterestorationDate - the date from which the rerating will be performedpartitionId - the partition identifier of the subscription or charging contract to rerateaccessibleChargeType - the type of object on which the rerating is performed
(subscription or charging contract)listener - the listener which will be called when the operation is complete or fails
CommunicationFailureException - if a communication failure occurs during the execution of the operation
public void informStartContractCollectionRerating(java.lang.String reratingLockCode,
short partitionId,
java.util.Date restorationDate,
java.util.List<java.lang.Long> contractIdList,
BatchChargeEventListener listener)
throws CommunicationFailureException
Starts the rerating of a collection of charging contracts.
This operation does the following:
reratingLockCode - the rerating operation codepartitionId - the partition identifier of the charging contracts to reraterestorationDate - the date from which the rerating will be performedcontractIdList - the list of unique identifiers of the charging contracts to reratelistener - the listener which will be called when the operation is complete or fails
CommunicationFailureException - if a communication failure occurs during the execution of the operation
@Deprecated
public void informUnlockSubscription(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date maxConsumptionDate,
java.util.Date activationDate,
short partitionId,
BatchChargeEventListener listener)
throws CommunicationFailureException
Stops the rerating of a subscription.
This operation does the following:
reratingLockCode - the rerating operation codesubscriptionId - the unique identifier of the subscription to reratemaxConsumptionDate - the maximum consumption date of the CDRs rated during the rerating operationactivationDate - the date to be used to activate the subscription
(if no date is specified, the activation is not performed)partitionId - the partition identifier of the subscription to reratelistener - the listener which will be called when the operation is complete or fails
CommunicationFailureException - if a communication failure occurs during the execution of the operation
public void informStopSubscriptionRerating(java.lang.String reratingLockCode,
long subscriptionId,
java.util.Date maxConsumptionDate,
java.util.Date activationDate,
short partitionId,
AccessibleChargeType accessibleChargeType,
BatchChargeEventListener listener)
throws CommunicationFailureException
Stops the rerating of a subscription or charging contract.
This operation does the following:
reratingLockCode - the rerating operation codesubscriptionId - the unique identifier of the subscription or charging contract to reratemaxConsumptionDate - the maximum consumption date of the CDRs rated during the rerating operationactivationDate - the date to be used to activate the subscription or charging contract
(if no date is specified, the activation is not performed)partitionId - the partition identifier of the subscription or charging contract to rerateaccessibleChargeType - the type of object on which the rerating is performed
(subscription or charging contract)listener - the listener which will be called when the operation is complete or fails
CommunicationFailureException - if a communication failure occurs during the execution of the operation
public boolean pingReratingOperation(java.lang.String reratingLockCode)
throws CommunicationFailureException
reratingLockCode - The rerating operation code to check
true if the rerating operation is alive, false otherwise
CommunicationFailureException - if a communication failure occurs during the execution of the operationprotected final com.highdeal.barbus.Topic getRatingTopic()
rating topic of this client used to send rating messages.
protected final com.highdeal.barbus.Topic[] getTopicsToSubscribe()
topics that client must subscribe to.
protected void updateHandler(com.highdeal.barbus.ClientRequestHandler requestHandler)
client request handler.
requestHandler - The client request handlerprotected final ServiceClientTuning getDefaultServiceClientTuning()
service tuning of this client useful to configure connections.
public javax.net.ssl.SSLContext getSslContext()
getSslContext in interface com.highdeal.barbus.ISSLContextProviderpublic void setSslContext(javax.net.ssl.SSLContext sslContext)
sslContext - The SSL context used with secure connections
public final void connect(java.lang.String hostname,
int hostport)
throws java.io.IOException
charging client to the
distant SAP CC Core Server system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
No client timeout is specified.
This method is equivalent to: connect(hostname, hostport, -1, null);.
hostname - The name of the machine that hosts a dispatcher instance of the SAP CC Core Server systemhostport - The communication port on which the server system waits for requests on TCP/IP channel
used by the Message TCP/IP technical interface
java.io.IOException - if the client cannot connect to the distant SAP CC system (if the server system is not running, for example).
public final void connect(java.lang.String hostname,
int hostport,
int timeout)
throws java.io.IOException
charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
A client timeout must be specified.
This method is equivalent to: connect(hostname, hostport, null, timeout);.
hostname - The name of the machine that hosts a dispatcher instance of the SAP CC Core Server systemhostport - The port on which the server waits for requeststimeout - The timeout in milliseconds for each operation request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending the operation request.
java.io.IOException - if the client cannot connect to the distant SAP CC system (if the server system is not running for example)
public final void connect(java.lang.String hostname,
int hostport,
FoundLostRatingListener ratingListener)
throws java.io.IOException
charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape;
No client timeout is specified.
hostname - The host name of the serverhostport - The port on which the server waits for requestratingListener - The FoundLostRatingListener that will be notified each time a rating instance will be found or lost
java.io.IOException - if the client cannot connect to the distant SAP CC system (if server is not running, for example)
public final void connect(java.lang.String hostname,
int hostport,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener)
throws java.io.IOException
charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape.
hostname - The host name of the serverhostport - The port on which the server waits for requestbindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending the request.ratingListener - The FoundLostRatingListener that will be notified each time a rating instance will be found or lost.
java.io.IOException - if the client cannot connect to the distant SAP CC system (if server is not running, for example)
java.lang.IllegalArgumentException - if hostname is null or if the port is out of range
public final void connect(java.lang.String hostname,
int port,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
throws java.io.IOException
First of all, this client contacts the boot instance defined by the arguments
hostname - The host name of the serverport - The port on which the server waits for requestbindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending the request.ratingListener - The FoundLostRatingListener that will be notified each time a rating instance will be found or lostconfig - The service tuning configuration
java.io.IOException - if the client cannot connect to the distant SAP CC system (if server is not running, for example).
java.lang.IllegalArgumentException - if hostname is null or if the port is out of range.
public final void connect(java.lang.String hostname,
int port,
boolean secure,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
throws java.io.IOException
First of all, this client contacts the boot instance defined by the arguments
hostname - The host name of the serverport - The port on which the server waits for requestsecure - true if the connection to the server is securebindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending request.ratingListener - The FoundLostRatingListener that will be notified each time a Rating
Instance will be found or lost.config - The service tuning configuration
java.io.IOException - if the client cannot connect to the server (if server is not running, for example).
java.lang.IllegalArgumentException - if hostname is null or if the port is out if range.
public final void connect(java.lang.String systemName,
java.net.InetSocketAddress... bootDispatcherAddresses)
throws java.io.IOException
charging client to the
distant SAP CC system that is the Online Charging System (OCS) or Offline Charging System (OFCS) in your SAP system landscape.
If systemName is not null, this charging client looks up
for an SAP CC system named systemName during 2 seconds
to discover some rating boot instances registered to the distant system. The charging client uses the
IPv4 multicast address 234.5.6.7:8910.
If some instances have been found, your charging client opens connections with the discovered rater instances.
If the provided systemName is null or empty, or if preceding discovery has failed,
this client will use bootDispatcherAddresses as a boot rating instance address list to connect to the SAP CC system.
Again, the client opens connections with the discovered rater instances.
Prerequisites: At least systemName or bootDispatcherAddresses must be provided.
systemName - The SAP CC system namebootDispatcherAddresses - A backup rating instance boot dispatcher list, provided only if for some reasons
java.io.IOException - if the client cannot connect to the server (if server is not running, for example)
java.lang.IllegalArgumentException - if some arguments are badly provided
public final void connect(java.lang.String systemName,
int lookupDuration,
java.net.InetSocketAddress discoveryAddress,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config,
java.net.InetSocketAddress... bootDispatcherAddresses)
throws java.io.IOException
If systemName is not null, this client lookups
for a rating system named systemName during lookupDuration milliseconds
in order to discover some rating boot instances registered to the system.
If some instances have been found, this client opens connections with the discovered rating instances.
If provided systemName is null or empty, or if preceding discovery has failed,
this client will use bootDispatcherAddresses as a boot rating instance address list to connect to the rating system.
Again, the client opens connections with the discovered rating instances.
At least systemName or bootDispatcherAddresses must be provided.
systemName - The SAP CC system namelookupDuration - The system discovery lookup durationdiscoveryAddress - The lookup discovery address, which must be an IPv4 multicast addressbindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending request.ratingListener - The FoundLostRatingListener that will be notified each time a Rating
Instance will be found or lost.config - The service tuning configurationbootDispatcherAddresses - A backup rating instance boot dispatcher list, provided only if for some reasons
java.io.IOException - if the client cannot connect to the server (if server is not running, for example).
java.lang.IllegalArgumentException - if some arguments are badly provided
public final void connect(java.lang.String systemName,
com.highdeal.barbus.InstanceAddress... bootDispatcherAddresses)
throws java.io.IOException
If systemName is not null, this client lookups
for a rating system named systemName during 2 seconds
in order to discover some rating boot instances registered to the system. This client will use
IPv4 multicast address 234.5.6.7:8910.
If some instances have been found, this charging client opens connections with the discovered rating instances.
If provided systemName is null or empty, or if preceding discovery has failed,
this client will use bootDispatcherAddresses as a boot rating instance address list to connect to the rating system.
Again, the client opens connections with the discovered rating instances.
At least systemName or bootDispatcherAddresses must be provided.
systemName - The SAP CC system namebootDispatcherAddresses - a backup rating instance boot dispatcher list, provided only if for some reasons
java.io.IOException - if the client cannot connect to the server (if server is not running, for example).
java.lang.IllegalArgumentException - if some arguments are badly provided
public final void connect(java.lang.String systemName,
int lookupDuration,
java.net.InetSocketAddress discoveryAddress,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config,
com.highdeal.barbus.InstanceAddress... bootDispatcherAddresses)
throws java.io.IOException
If systemName is not null, this client looks up
for a rating system named systemName during lookupDuration milliseconds
in order to discover some rating boot instances registered to the system.
If some instances have been found, this client opens connections with the discovered rating instances.
If provided systemName is null or empty, or if preceding discovery has failed,
this client will use bootDispatcherAddresses as a boot rating instance address list to connect to the rating system.
Again, the client opens connections with the discovered rating instances.
At least systemName or bootDispatcherAddresses must be provided.
systemName - The Rating system namelookupDuration - The system discovery lookup durationdiscoveryAddress - The lookup discovery address, which must be an IPv4 multicast addressbindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending the request.ratingListener - The FoundLostRatingListener that will be notified each time a Rating
Instance will be found or lost.config - The service tuning configurationbootDispatcherAddresses - A backup rating instance boot dispatcher list, provided only if for some reasons
java.io.IOException - if the client cannot connect to the server (if server is not running, for example)
java.lang.IllegalArgumentException - if some arguments are badly provided
public final void connect(InstanceMap imap,
java.lang.String bindAddress,
int timeout,
FoundLostRatingListener ratingListener,
ServiceClientTuning config)
throws java.io.IOException
instance map;
A timeout must be specified.
imap - The instance map that describes the SAP CC system to connect to; Cannot be null.bindAddress - The address to bind to, can be nulltimeout - The timeout in milliseconds for each request (or -1 to wait indefinitely).
If you use zero and acknowledgments are requested then a CommunicationFailureException will be thrown without sending the request.ratingListener - The FoundLostRatingListener that will be notified each time a rater instance will be found or lost.config - The service tuning configuration
java.io.IOException - if the client cannot connect to the distant SAP CC system (if the server system is not running, for example).public final boolean isNoTimeout()
true if the charging client handles timeoutpublic final void setNoTimeout(boolean noTimeout)
noTimeout - true if your client handles timeout
public final void setClientOpEventListener(ClientOpEventTopic topic,
ClientOpEventListener listener)
client operation event listener to the specified topics;
It will be notified each time an event corresponding to the registered topics.
null for the default topic.
null, then the default listener is set (@link ClientOpEventTopic#DEFAULT).
topic - The topic to plug the client operation event listener tolistener - The client operation event listenerpublic final ClientOpEventListener getClientOpEventListener(ClientOpEventTopic topic)
client operation event listener used by the client for the specified topic.
If the topic is null the default topic listener is returned ( getClientOpEventListener(ClientOpEventTopic.DEFAULT) ).
There is always a default listener for a specific topic.
topic - The topic plugged the client operation event listener
public final int getTimeout()
-1 to wait indefinitely).
-1 if no timeout has been definedpublic final boolean isConnected()
true if the charging client is connected and false otherwise.public final void close()
method allows to release all the resources
attached (sockets and buffers) in the charging client.
@Deprecated public final void setBootMode(BootMode mode)
BootMode.HTTP_BOOT_MODE and BootMode.HTTPS_BOOT_MODE are deprecated, this method is deprecated too.
mode - Is this method is deprecated and to use the Message TCP communication or is
HTTP_BOOT_MODE to use the HTTP communication.public final BootMode getBootMode()
MESSAGE_BOOT_MODE because BootMode.HTTP_BOOT_MODE and BootMode.HTTPS_BOOT_MODE are deprecated.
protected final boolean isValid(ChargeableItem ci,
InvalidItemListener listener)
chargeable item is valid or not;
A call back listener has to be given to handle errors.
ci - The chargeable item to checklistener - The call back listener
true if chargeable item is valid, false otherwise
protected final void asyncSend(com.highdeal.cnd.message.common.CollectorMessage m,
int maxTimeout,
ResponseHandlerWrapper handler,
com.highdeal.util.IEventListener eventListener)
m;
When a response or an exception is received by the client application, it must back the response handler.
m - The message that must be sent asynchronouslymaxTimeout - The maximum timeout before getting a communication failurehandler - The call back handlerprotected final void beginSession()
protected final void sendSession()
protected com.highdeal.util.IEventListener getEventListenerFromListener(java.lang.Object listener)
@Deprecated protected final void setClusterName(java.lang.String name)
name - The system name@Deprecated protected final java.lang.String getClusterName()
@Deprecated public final void setHAEventListener(HAEventListener listener)
Sets the HA listener dedicated to High Availability events;
It will be notified each time the status of an instance of the connected SAP CC system has changed.
listener - The listener for High Availability eventsprotected final void setFoundLostRatingListener(FoundLostRatingListener ratingListener)
rating listener that will be notified each time a rater instance of the SAP CC system will be
found or lost.
ratingListener - The rating listenergetFoundLostRatingListener()protected final FoundLostRatingListener getFoundLostRatingListener()
rating listener previously set.
rating listener previously setsetFoundLostRatingListener(FoundLostRatingListener)@Deprecated protected final com.highdeal.barbus.RoundRobinClient getClient()
inner client.
protected final void notifyHeartBeat(com.highdeal.barbus.Client client)
protected final void register(com.highdeal.hmi.IConnectable connectable)
protected void addListener(AsyncRatingServiceClient.RegisterListener listener)
protected com.highdeal.cnd.message.sensor.SensorsManager getSensorsManager()
|
Document Published: October 2015 (SAP CC 4.0 SP10 and Later) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||