EBICS Server Service
The EBICS Server service is responsible for handling incoming EBICS requests according to the EBICS protocol specifications and generating and sending the appropriate response back to the subscriber.
System name |
EBICS Server Service |
Graphical Process Modeler (GPM) categories |
All Services |
Description |
This service is responsible for handling incoming EBICS requests (through HTTP and HTTPS) according to the EBICS protocol specifications and generating and sending the appropriate response back to the subscriber. |
Business usage |
Use this service to handle EBICS request, response, and error messages according to the EBICS protocols. The business value of this service is to provide support for EBICS protocols in Sterling B2B Integrator. |
Usage examples |
Use this service together with the EBICS Order Authorization service to receive EBICS' bank technical order data with order type FUL from a subscriber. You can use this service to parse and verify the request message, and forward the order data to EBICS Order Authorization service for further asynchronous processing. |
Preconfigured? |
This service is preconfigured as part of the system installation. |
Requires third-party files? |
No |
Platform availability |
All supported Sterling B2B Integrator platforms. |
Related services |
|
Application requirements |
You must configure the EBICS HTTP Server adapter for this setup. |
Initiates business processes? |
For system order type and technical download order type, this service invokes the EbicsOrderProcessing business process. For technical upload order type, this service invokes the EbicsAuthOrderProcessing business process. |
Invocation |
This service is invoked inside a business process, which is invoked by the EBICS HTTP Server adapter. |
Business process context considerations |
The configuration parameters are picked by the service during run time. |
Returned status values |
Fatal - Nonrecoverable error Transient – Recoverable error Logic - Recoverable error Success Warning |
Restrictions |
None |
Persistence level |
System Default |
Debug |
To test this adapter, post a valid EBICS request message, using the HTTP Client, to the preconfigured EBICS HTTP Server Adapter. Debugging information for this service is located in Sterling B2B Integrator. Navigate to . |
Configuring the EBICS Server Service
To configure the EBICS Server service, you must specify the settings for the following fields in the Graphical Process Modeler (GPM) or in the Business Processing Modeling Language (BPML):
Field |
Description |
---|---|
Maximum Idle Time (MaxIdleTime) |
Optional. The maximum period (in minutes) allocated to complete the transaction before it is cancelled. Valid value is any positive integer. The default value is 60 minutes. Note:
For large payloads using order types FUL or FDL, set to 300 minutes. |
Maximum Open Transaction Per Subscriber (MaxOpenTransactionPerSubscriber) |
Optional. The bank system can limit the number of open transactions with positive recovery counter per subscriber. Valid value is any positive integer. The default value is 0, which indicates that unlimited number of transactions can be open. |
Replay Testing's Tolerance Period (ReplayTolerance) |
Optional. The tolerance period (in minutes, from the current time) of EBICS Server before the request (with timestamp older than this period) is rejected with a suspected replay error code. Valid value is any positive integer. The default value is 360 minutes. |
<Scheduler settings> |
Required. The business process runs a task to cancel idle transactions when they exceed the Maximum Idle Time period. If the transactions have been idle for more than the configured maximum idle time, the scheduler ends the transactions. If the FDL transactions have been idle for more than the configured maximum idle time, the intermediate messages held during the idle transactions are restored to their original names. Scheduler performs the housekeeping task to cancel idle transactions and delete expired Nonce records. Following are the valid values:
|
Business Process Examples
<operation>
<participant name="EBICSServerService"/>
<output message="handleRequest">
<assign to="." from="*"/>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
The following example business process illustrates using the EBICS Server service to handle a response message:
<operation>
<participant name="EBICSServerService"/>
<output message="handleResponse">
<assign to="." from="*"/>
</output>
<input message="testing">
<assign to="." from="*"/>
</input>
</operation>
The following example illustrates using the EBICS Server service:
<process name="handleEBICSRequest">
<rule name="SubProcessRequired">
<condition>EBICSRequestInfo/SubProcessRequired = 'Y'</condition>
</rule>
<sequence name="main">
<operation name="set user token">
<participant name="SetUserToken"/>
<output message="SetUserTokenMessage">
<assign to="USER_TOKEN">admin</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg">
<assign to="." from="*"/>
</input>
</operation>
<!-- handle EBICS request -->
<operation>
<participant name="EBICSServerService"/>
<output message="handleRequest">
<assign to="." from="*"/>
</output>
<input message="Xin">
<assign to="." from="*"/>
</input>
</operation>
<choice name="SubProcess">
<select>
<case ref="SubProcessRequired" activity="Invoke Sub
Process Service"/>
</select>
<!-- internal processing by invoking a subprocess -->
<!-- The subprocess name will be dynamically determined based
on Order Type in the ProcessData -->
<!-- The invoke mode will be dynamically determined based
on order Type in the ProcessData -->
<operation name="Invoke Sub Process Service">
<participant name="InvokeSubProcessService"/>
<output message="Xout">
<assign to="INVOKE_MODE"
from="EBICSRequestInfo/InvokeBPMode/text()"/>
<assign to="WFD_NAME"
from="EBICSRequestInfo/InvokeBPName/text()"/>
<assign to="NOTIFY_PARENT_ON_ERROR">ALL</assign>
<assign to="." from="*"/>
</output>
<input message="Xin">
<assign to="." from="*"/>
</input>
</operation>
</choice>
<!-- handle EBICS response -->
<operation>
<participant name="EBICSServerService"/>
<output message="handleResponse">
<assign to="." from="*"/>
</output>
<input message="Xin">
<assign to="." from="*"/>
</input>
</operation>
<operation name="HttpRespond">
<participant name="HttpRespond"/>
<output message="HttpRespondInputMessage">
<assign to="doc-has-headers">false</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<onFault>
<!-- On Fault, we will clear PrimDoc and
construct response message -->
<sequence>
<operation name="ReleasePrimDoc">
<participant name="ReleaseService"/>
<output message="outmsg">
<assign to="TARGET">/ProcessData/PrimaryDocument</assign>
<assign to="." from="*"/>
</output>
<input message="inmsg"/>
</operation>
<operation>
<participant name="EBICSServerService"/>
<output message="handleError">
<assign to="." from="*"/>
<assign to="transactionID" from="EBICSRequestInfo/TransactionID/text()"/>
</output>
<input message="Xin">
<assign to="." from="*"/>
</input>
</operation>
<operation name="HttpRespond">
<participant name="HttpRespond"/>
<output message="HttpRespondInputMessage">
<assign to="doc-has-headers">false</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</onFault>
</sequence>
</process>