Guide - Service Chain Handler

Table of Contents

Product Version

7.0

Product To Version

 

Status

New Labels

General Usage

Register the Service Chain Handler at the service definition entry.

Example of SMTP Mail Service:

<fulfill requirement="serviceDefinition" of="serviceDefinitionRegistry">
  <instance with="ServiceDefinitionRegistry.Entry">
    <fulfill requirement="cartridgeID" value="ac_mail" />
    <fulfill requirement="groupID" value="service.group.name.Mail_Services" />
    <fulfill requirement="serviceDefinitionID" value="SmtpMailService" />
    <fulfill requirement="localizationKeyForName" value="service.definition.name.SmtpMailService" />
    <fulfill requirement="serviceDefinition">
	<instance with="SMTPServiceDefinition" />
    </fulfill>
    <fulfill requirement="parameterGroupID" value="SMTP" />
<!-- REGISTRATION OF CHAIN ELEMENTS -->
    <fulfill requirement="ChainElementID" value="MailSmtpConfigurator" />
    <fulfill requirement="ChainElementID" value="LogHandler" />
    <fulfill requirement="ChainElementID" value="MonitorHandler" />
<!-- END REGISTRATION OF CHAIN ELEMENTS -->
  </instance>
</fulfill>

List of Existing Handlers

LogHandler

provides logging capabilities

CachingHandler

provides caching for service requests

MonitorHandler

provides monitoring and notifications (needed for SMC monitor status) and enables monitoring via RuntimeSensor)

Axis2Handlerprovides Soap- and REST-functionality.

Caching Handler

Functionality

This handler caches results of service requests. It is possible to configure cache size and cache implementation.

The handler can handle envelopes of type

  • Envelope<com.intershop.component.service.capi.chain.message.Cacheable,?> or
  • Envelope<String,?>

The handler will be disabled as soon as a non supported type is processed.

Configuration

Caching.size

default amount of entries at cache (default is 500)

Caching.implementation

cache implementation

  • requires implementation of com.intershop.component.service.capi.chain.tools.Caching<T>
  • default is com.intershop.component.service.internal.tools.CacheMap
Caching.contextone of "global", "site", "session" or "request". The default is "request".

Logging Handler

Functionality

This handler can log the data of request and response.
The handler tries to build a string from the request/response.

  • is String (nothing to do)
  • implements the interface com.intershop.component.service.capi.chain.message.Logable
  • call toString()

Configuration

Logging.request

enables logging of request data (true|false)

Logging.response

enables logging of response data (true|false)

Logging.error

enables logging of errors (true|false)

Logging.category

defines the logging category (default name of service interface)

Monitor Handler

Functionality

This handler produces monitoring information about the service requests. It is possible to see that information in the SMC->Monitoring->Services and jconsole.
JConsole:

  • bind to server
  • tab MBeans
  • Group com.intershop.enfinity
  • Object name, (pattern: serviceType.serviceInterface.operationName.domainName) example:

    SmtpMailService.com.intershop.component.mail.capi.SendMailService.sendMail.PrimeTech
    

Additionally the handler writes performance sensor data of type MANAGEDSERVICE, which can be enabled via:

intershop.monitoring.managedservice=true

Configuration

Monitoring.longCallThreshold

time in milliseconds, which is the threshold for long requests

Monitoring.entryNumberLimit

limitation of monitor items hold at server

Monitoring.notification

enable notification via "mail", "jmx", "snmp" or "no". The default is "no".

Notification.threshold

number of requests, which failed or takes too long

Axis2 Handler

Functionality

This handler performs soap-messaging based on the axis2-webservice-framework.

Configuration

Service.uriThe web-service URI
Service.timeoutThe timeout. The maximum time, an synchronous web-service will wait for a response.
Service.async"true" or "false, if "true", the service will be asynchronous. The default is synchronous, or "false".
Service.protocol"SOAP" for Soap, and "REST" for REST-services. The default is "SOAP".
Service.policyURI for the web-service-configuration with apache rampart.
Service.authenticationOne of "NOAUTH", "basic" and "username". The default is "NOAUTH".
Service.crypt"true", if encryption should be used, "false" otherwise. The default is "false".
Service.signature"true" or "false". If "true", a signature will be used. The default is "false".

Depending on the chosen configuration, the below config may be used.

 

Service.ReplyUriUri for the reply, in case of asynchronous services.
Service.usernameUsername for authentication.
Service.passwordPassword for authentication.
Service.callbackAxis2Callback
Service.signature_storeURI for the location of the certificate-store.
Service.signature_usernameThe username for authentication.
Service.signature_passwordThe password for authentication.
Service.signature_callbackAxis2Callback
Service.crypt_storeURI for the location of the certificate-store.
Service.crypt_usernameThe username for authentication.
Service.crypt_passwordThe password for authentication.
Service.crypt_callbackAxis2Callback
Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

The Intershop Customer Support website uses only technically necessary cookies. We do not track visitors or have visitors tracked by 3rd parties.

Further information on privacy can be found in the Intershop Privacy Policy and Legal Notice.
Customer Support
Knowledge Base
Product Resources
Tickets