cancel
Showing results for 
Search instead for 
Did you mean: 

Customize Correllation ID

Former Member
0 Kudos

Hi Experts

Is there any way to Customize Correlation ID generated by XI. Currently XI is generating 36 bytes but our legacy is expecting only 24 bytes.(RFC <-> JMS(Sync)).

Kind regs

Ramesh

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Henrique

Thanks a lot for the information. We have tried with the below option suggested.

Also, you can set it in mappings (for example, UDF in Message Mappings) with simple code, such as:

container.getTransformationParameters().put(StreamTransformationConstants.CONVERSATION_ID, "12345678987654321");

We are getting the following error, Kindly let us know if you have any clue...

<SAP:Category>XIAdapterFramework</SAP:Category>

<SAP:Code area="MESSAGE">GENERAL</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: The channel is configured to fail if switched-on properties are empty, in this case it is: DCJMSCorreleationID. Reconfigure the channel or fill this property!</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

Regs

Ramesh

henrique_pinto
Active Contributor
0 Kudos

How is your receiver JMS adapter configuration?

Did you set the <i>JMS Correlation ID</i> to <i>XI Conversation ID (ConversationID)</i> option in Receiver JMS adapter?

If that doesn't work, try to set the <i>DCJMSCorreleationID</i> attribute directly, with

DynamicConfiguration.


String correlation = "your_correlation_string";

DynamicConfiguration conf = container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");

conf.put(key, correlation);

Regards,

Henrique.

henrique_pinto
Active Contributor
0 Kudos

You can set it through an API for adapter modules.

Check this link: http://help.sap.com/saphelp_nw70/helpdata/en/17/50d440e14f8431e10000000a1550b0/frameset.htm

Also, you can set it in mappings (for example, UDF in Message Mappings) with simple code, such as:


container.getTransformationParameters().put(StreamTransformationConstants.CONVERSATION_ID, "12345678987654321");

Check also this thread:

Regards,

Henrique.