Enrichment Service - Forum - Technology Partner - Progress Community

Enrichment Service

  • The Enrichment Service is a mediation service that provides a common framework and implementation for manipulating messages as they go through the ESB. Sample mediations that are provided include(but are not limited to) Adding a message part, deleting a message, setting/deleting a message property, formatting nodes, escaping/un-escaping XML etc etc.

    Included in this package is three zip files:

    1) Utility_EnrichmentServiceSamples.zip - this is the samples project that includes a 7.6 project and can be imported directly into your workspace. Each process that is in the project is designed to demonstrate a single feature of the service.

    2) Utility_BaseService.aip - this is the Base Service that is used to common operations (feel free to use this as part of your services).

    3) Utility_EnrichmentService.zip - this is the implementation of the service to perform the appropriate message enrichments.

    Feel free to add new enrichments, this can be done by modifying the file sonicfs:///Common/Services/EnrichmentService/EnrichmentDefinitions.xml and extending the class com.sonicsw.sts.enrichment.internal.actions.impl.BaseEnrichmentTypeImpl

    For a full definition of what the service does, execute the ESB Process EnrichmentSvc.Test.getEnrichmentInformation

    For questions about this service please use the sonic forums on PSDN. Also there will be a cook-a-long this week that will discuss this service






  • Here is some pdf documentation about what the service does

  • Can I set/Modify JMS header of XQMessage like JMSPriority, JMSTimestamp using enrichment service.



  • While you can change the JMS headers on the message in the Enrichment Service (indeed in any XQService), as soon as the message is sent over JMS, then JMS will set these to the new JMS proscribed values.

    I am assuming you are trying to change the JMS delivery options for the next message in the itinerary using the Enrichment Service. That won't work.

  • I was trying to add new enrichment but getting compilation error. There are couple of packages and source files are missing like com.sonicsw.sts.esb.services.enrichment.dynamicXForm.xml.v1.KeyedTransformation

    com.sonicsw.sts.esb.services.enrichment.dynamicDisplayXSLT.xml.v1.DisplayXSLT; etc.

    Can anyone let me know from where I can get the complete source code for Base and enrichment srevice.


  • Here is the files, I believe this to be complete, if you are missing anything please let me know.

    Please also share with the forum the enrichments that you are adding so that the greater community to get the benefit.



  • thanks for sending me the source code. But still few files are missing. I am getting compilation error. Please see the attached screen shot and provide me the missing files.


  • You are missing some of the XQ jars as com.sonicsw.xq.* are standard ESB libraries.

    The others are attached.

    Please let me know if you have any other questions


  • thanks for your help.

    Almost done. Only issue is with com.sonicsw.sts.esb.messageSchema.v1.Part.java

    I think I do not have latest source file. Following method is missing getPartProperties(). Could you please provide the latest source file com.sonicsw.sts.esb.messageSchema.v1.Part.java



  • Attached


  • thanks,


  • Hi David,

    Can you please attach the jar needed for importing xq.xqlog


  • Hi David,

    Do we have any latest version of enrichment service? The one that we have today does not support multiple listeners.

    Following are the issues when the messages are sent to RME (Please note that we are publishing same message in bulk to the entry endpoint of enrichment service) -

    1) Failed to get part. No part at index 1. 0,1
    2) The EnrichmentTypeFactory has already been initialized
    Thanks & Regards,
    Sakshi Anand