SAP XI/PI: Testing Scenarios involving Dynamic Configuration
Quite often, real time SAP XI/PI interfaces involve dynamic configuration which will originate from source system using a sender adapter and during mapping program we manipulate dynamic configuration what is required by target systems. It is also possible there can be sequence number validation/generation in XI during mapping stage. Any mapping errors occurring for such scenarios in production needs to be simulated in quality system end to end to understand the error behavior and its remediation. The testing might involve various teams e.g., source, XI/PI, target system teams etc.. in quality system. This is basically a time consuming process. With classical RWB test message tool we can send message to Integration Engine but there is no provision to include SOAP headers or attachments. One way to test such mapping errors in quality system is using interface mapping by changing the corresponding message mapping to temporarily accommodate static dynamic configuration values.
The below concept will help you in testing at least some such situations without having a source system sending the message. We all know that using SOAP client (SOAP UI) we can post the messages to Integration Engine. Please refer Stefan’s blog “Using the SOAP inbound channel of the Integration Engine” : http://scn.sap.com/people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine .
What all things we require for simulation?
- SOAP client such as SOAP UI or XML SPY etc.
- WSDL file generated from configuration for each interface (one time job). The same WSDL can be used for other XI environments by just changing the endpoint URL and corresponding interface headers i.e. business systems or services.
- Interface inbound XML payload from production XI that is to be tested
- Dynamic configuration header from production XI if exists, otherwise we can create it manually.
- Proper user credentials to post the data to XI Integration engine
Sample SOAP Header with dynamic configuration for file adapter,
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1"> <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileType">bin</SAP:Record> <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="Directory">\\rootdir\xyzfolder</SAP:Record> <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileSize">1024</SAP:Record> <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">xyz011.xml</SAP:Record> <SAP:Record namespace="http://sap.com/xi/XI/System/File" name="SourceFileTimestamp">20120330T115514Z</SAP:Record> </SAP:DynamicConfiguration> </soapenv:Header> <soapenv:Body> PAYLOAD DATA HERE </soapenv:Body> </soapenv:Envelope>
SOAP UI Tool
Message in XI
Similarly, we can try with dynamic configurations related to other technical adapters.
Created an idea to have this feature in standard RWB test message tool. Link: https://cw.sdn.sap.com/cw/ideas/9909