Sterling B2B Integrator - 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.

The following table provides an overview of the EBICS Server service:

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

  • HTTP Server adapter for EBICS
  • EBICS Order Authorization service
  • EBICS Compression service
  • EBICS Encoding service
  • EBICS Encryption service
  • EBICS Signing service
  • EBICS ES Packaging service

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 Operations System Logs EBICS.

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:

  • Do not use schedule

    If you select this field, the EBICS Server service does not start a business process and does not run on a schedule. It is recommended that you do not use this parameter.

  • Run based on timer

    Valid values are the hour and minutes at which the service must be run. If you select a time interval, the valid values are the hours and minutes pertaining to the interval. Add or delete selections as necessary. Specify schedule exclusions or date exclusions, if any. Indicate whether you want the service to run at startup. It is recommended that you use this parameter every two hours.

  • Run daily

    Valid values are the hour and minutes at which the service must be run daily. If you select a time interval, the valid values are the hour and minutes pertaining to the interval. Add or delete selections as necessary. Specify date exclusions, if any. Indicate whether you want the service to run at startup.

  • Run based on day(s) of the week

    Valid values are the days of a week, the hour, and the minutes that specify when the service must be run. If you select a time interval, the valid values are the hours and minutes pertaining to the intervals. Add or delete selections as necessary. Specify date exclusions, if any.

  • Run based on day(s) of the month

    Valid values are the days of a month, hour, and minutes that specify when the service must be run. If you select a time interval, the valid values are the hours and minutes pertaining to the intervals. Add or delete selections as necessary. Specify date exclusions, if any.

Business Process Examples

The following example business process illustrates using the EBICS Server service to handle a request message:
				
					<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>
				
			

Previous Topic

Sterling B2B Integrator - EBICS Subscription Manager Service

Parent Topic

Sterling B2B Integrator - EBICS Banking Server Services

Next Topic

Sterling B2B Integrator - EBICS Export Certificate Service