An interesting feature enabled with PI 7.1 EHP1, mentioned into SAP document
<a href="http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20c237f1-3caf-2b10-3a83-cce9ed5fbdf3?quicklink=index&overridelayout=true" target="_blank">New Features & Benefits for Enhancement Package 1 for SAP NetWeaver Process Integration 7.1</a>
, deals with User-Defined Message Search. It’s very interesting since it allows searching asynchronous message by business-relevant information criteria contained in the message payload. It also reduces TCO since separate TREX installation is not required. After defining filters and extractors, you just need the access to Message Monitor java application to search payload of messages executed on both Integration Server and local Advanced Adapter Engine.
Let’s start with needed configuration steps and some useful remarks to quickly enable this feature.
Try to access http://<host>:<port>/nwapi and check if it’s properly configured, in case of issue please follow instructions contained into wiki
<a href="http://wiki.sdn.sap.com/wiki/display/JSTSG/%28NWA%29Problems-102" target="_blank">(NWA)Problems-102</a>
. A correct configuration shows PI Overview and common tasks list.
To enable cache synchronization for defined filters and extractors, there is the need to create a logical port for Consumer proxy named MessageSearch with implemented operation SetMessageFilters. Since it’s a web service published in central Service Registry, you can also think to define filters and extractors with a different application.
Beside this, just access transaction SOAMANAGER and follow instructions contained on Synchronizing the Cache section of SAP help page
<a href="http://help.sap.com/saphelp_nwpi711/helpdata/en/48/c85598f63335bfe10000000a42189d/frameset.htm" target="_blank">Configuring the User-Defined Message Search</a>
. Keep in mind that page contains information on how to configure filters and extractors as well.
Filters and Extractors definition
Main transaction to define, maintain and synchronize filters and extractors is SXMS_LMS_CONF. In the samples I created two different filters to check messages executed on both IS and local AAE. For each filter, it’s possible to maintain more than one extractor. The picture shows a filter with two extractors searching for name and surname fields of a Service Interface using XPath expression. Don’t forget to Synchronize Cache for any change done on filters and extractors.
After creating extractors, flag filter as active and then you can test it with test extractor function. In case of issue apply SAP
<a href="https://service.sap.com/sap/support/notes/1418263" target="_blank">Note 1418263 - Transaction SXMS_LMS_CONF: Test function</a>
Before to proceed with User-defined message search test I want to remark an important point related to PI message monitoring application. If you access Sap Netweaver Administrator and follow the links SOA Management->Monitoring->PI Message Monitoring, you are accessing Message monitor application for ONLY local web services and local AAE processed messages and not the ones processed on Integration Server. A detailed description with more information is also available into SAP help page Monitoring Messages (http://help.sap.com/saphelp_nwpi711/helpdata/en/48/b2d2347895307be10000000a42189b/content.htm).
Finally, the scenarios I tested adopted following technology:
• Soap->PI->File (AAE)
• IDoc->PI->Proxy (IS)
After running a test over PI, access Message monitor application and select Database label of Integration Engine component, then choose Advanced, then Select User-Defined Attributes to add attributes defined with transaction SXMS_LMS_CONF.
Soap->PI->File scenario search results
IDoc->PI->Proxy scenario search results