cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Sender query string

Former Member
0 Kudos
156

Hi

I am working on XI 7.0 and I have to use SOAP adapter at sender side for the nect scenario. The requiremet expects few values in the message header to come in the query string. Can I get message id and sender service in the the query string if i click do not use soap envelope and use query string options. Where can I find the values populated in the query string in SXMB_MONI? I may have to use the value for determining interface.

Can we get all the required values in query string?

Radhika

Accepted Solutions (1)

Accepted Solutions (1)

ambrish_mishra
Active Contributor
0 Kudos

Hi Radhika,

Both message id and sender service are available as runtime constants.

For message id, you can use the code below while there is a standard function available in graphical mapping for Sender service.

java.util.Map map = container.getTransformationParameters();

String messageID = (String)map.get(StreamTransformationConstants.MESSAGE_ID);

return messageID;

I don't think it has anything to do with envelope or query string.

Ambrish

Former Member
0 Kudos

Hi

Thanks for your help. Where can I see the query string in MONI? Is it under Dynamic configuration? The customer wants the query string to be used

Regards

Answers (1)

Answers (1)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

using the map object

A map object enables you to access message-mapping runtime constants. Some mapping programs need to access fields in the message header. To facilitate this, the mapping runtime stores the values of the fields as key-value pairs.

Examples of Key-Value Pairs in the Map for Runtime Constants

“MessageClass” “ApplicationMessage”

“ProcessingMode” “synchronous”

“ReceiverNamespace” “http://demo.com/xi/example”

To read the fields of the message header at runtime, you must access the map for the runtime constants. However, accessing the map using the key literals listed above would render the program code invalid if a key is changed at some point in the future. As an alternative, the mapping API provides string constants that you can use instead of key literals to access the map.

map = container.getTransformationParameters();

headerField = (String) map.get(

StreamTransformationConstants.INTERFACE_NAMESPACE);

AbstractTrace at = container.getTrace();

at.addInfo(headerField);

return a;