Purpose of correlation id in jms?

hi friends,
Good Day!
I'm new to jms adapter on that one i'm unable to understand the correlation id process. For what purpose we can use correlation ID in jms adapter please help me with example.
advance in Thanks,
Suresh.
Edited by: 922128 on Apr 29, 2012 11:32 PM

Hi Swetha ,
Thanks for your response ,
I created user defined function with one parameter , no input parmeter .
My root node of IDOC as Structure type ,
In UDF , i have not mapped the IDOC number
public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
return conf.put(key, messageId);
messageId  I need map in additonal parameter .
Thanks ,
Laxman.
DCJMSCorreleationID     messageId

Similar Messages

  • JMS Correlation ID in JMS Receiver Adapter

    Hi ,
    I am working in PI7.1 on IDOC to JMS interface,
    I want set IDOC number as Correlation ID in JMS queue ,
    I did following Correlation steps ,
    1. Set JMSCorrelation ID to PI Conversation ID
    2. Checked JMS CorrelationID of request
    3.Value to PI Conversation ID
    In Adavanced Tab
    Checked Use Adapter specific Message attributes
    Checked Fial if Adapter specific Message attributes missing
    Checked JMS Message Correlation ID
    Additional Parameter
    DCJMSCorreleationID String
    I have created user defined function , Not using BPM , i don't have correlation ID in target field data type
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, idoc_number); 
    I tested UDF with mapping to target field, UDF is working .
    But in JMS Correlation ID value is null
    I am getting error in Communication Channel  monitor if ticked check box of fail If adapter-specific message attributes
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Dynamic header records are missing/incorrect specified in message: 000c2901-fc48-1def-82f9-4b126dff2151. Erroneous/Unspecified headers are: DCJMSCorreleationID
    1/27/10 11:02:36 PM 000c2901-fc48-1def-82f9-4b126dff2151 Dynamic record/records: DCJMSCorreleationID, that correspond to the JMS property/properties: JMSCorrelationID, respectively is/are either missing from the message: 000c2901-fc48-1def-82f9-4b126dff2151, or have invalid types specified in the channel configuration

    Hi Swetha ,
    Thanks for your response ,
    I created user defined function with one parameter , no input parmeter .
    My root node of IDOC as Structure type ,
    In UDF , i have not mapped the IDOC number
    public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    messageId  I need map in additonal parameter .
    Thanks ,
    Laxman.
    DCJMSCorreleationID     messageId

  • Set IDOC number as Correlation ID in JMS Receiver Adapter

    Hi ,
    I am working in PI7.1  on IDOC to JMS interface,
    I want set  IDOC number as Correlation ID in JMS queue ,
    I did following Correlation steps ,
    1. Set JMSCorrelation ID to PI Conversation ID
    2. Checked JMS CorrelationID of request
    3.Value to PI Conversation ID
    In Adavanced Tab
    Checked Use Adapter specific Message attributes
    Checked  Fial if  Adapter specific Message attributes missing
    Checked JMS Message Correlation ID
    Additional Parameter
    DCJMSCorreleationID     String
    I have created user defined function ,  Not using BPM , i don't have correlation ID in target field data type
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    please help to how to use UDF in mapping for mapping which field .
    Thanks ,
    Laxman.

    Hi Swetha ,
    Thanks for your response ,
    I created user defined function with one parameter , no input parmeter .
    My root node of IDOC as Structure type ,
    In UDF , i have not mapped the IDOC number
    public String CorrelationID(String messageId, Container container) throws StreamTransformationException{
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSCorreleationID");
    return conf.put(key, messageId);
    messageId  I need map in additonal parameter .
    Thanks ,
    Laxman.
    DCJMSCorreleationID     messageId

  • Jms settings & correlation settings in jms adapter

    hi experts,
      what is use of jms setting & correlation settings  in jms adapter.

    Hi,
    This link may help you..
    http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/frameset.htm
    Regards,
    Srinivas

  • Jms settings and correlation settings in jms adapter

    hi expects,
       what is use of jms settings and correlation settings in jms adapter.

    Hi Rohit,
    have a look at thsi article to understand jms correlation:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Regards,
    michal

  • Correlation issue in JMS adapter - SYNC/ASYNC scenario without BPM

    Hi,
    I am working on a SYNC/ASYNC scenario with JMS adapter without using BPM. My scenario is SOAP<>PI>JMS. I configured the interface as below:
    1. SOAP Sender channel
    2. JMS Receiver Channel writing to Queue A.
         Module used:      a. RequestOneWayBean
                   b. WaitResponseBean
         Correlation Settings:
                   a. Set JMS Correlation ID to "XI Message ID"
                   b. Store JMS CorrelationID of request (Checked)
                   c. Set JMS Property to "JMS Correlation Id"
                   d. Value = "XI MEssage ID"
    3. JMS Sender channel reading from queue B ( I am exporting the message from queue A and importing into queue B)
         Module used:      a. NotifyResponseBean
         Correlation Settings:
                   a. Set XI MEssage Id to "GUID"
                   b. Set XI Conversation ID to "Stored JMS COrrelationID of Request"
    I can see the cid in the message from queue A. But I observed thhat the header format of the message in Queue A is "MQSTR".
    ISSUE:
    1. While writing the message to queue A, below adapter log details(part b) concerned me:
         a. Message '8747a7c2-2b06-11df-8055-005056a70ed6' successfully processed by channel
         b. Could not create acknowledgements for message '8747a7c2-2b06-11df-8055-005056a70ed6'
    I am not sure why I am receiving the message that "  could not create acknowledgements"
    2. While reading the message from the sender channel,I consistently get the error message as below:
         a. XI message ID corresponding to JMS message with ID 'ID:414d51205341504449442e514d202020c67b954b20005602'
              will be created as a new GUID with value '21bca916-424f-41f6-3347-c71090392b58'
         b. Error while processing message '21bca916-424f-41f6-3347-c71090392b58';  detailed error description:
              com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
              found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    Below are the blogs which I have already gone through:
    1. JMS Synchronous Scenario without BPM - Correlation Settings and Transactional JMS Session
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b028f6f6-7da5-2a10-19bd-cf322cf5ae7b
    2. Note: 1086303
    3. Sync / Async Bridge without BPM
    In the note, they mentioned something about header being "MQRFH2". BUt in our case, the header is "MSSTR". Not sure whether it makes any difference.
    Please help.
    Edited by: GP on Mar 9, 2010 4:24 AM

    Hi,
    detailed error description:
    com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: found no correlation ID: RecoverableException:
    found no correlation ID at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:105) ...
    This error would generally arose when there are multiple messages, got stuck in the outbound queue. Try to stop both the sender and receiver JMS comunication channels and clear both the inbound and outbound queues.
    Once all the messages in the queue are cleraed, try posting the message again.
    Regards,
    Swetha.

  • JMS Adapter Native Correlation

    Hello,
    I've been trying to develop a request/reply service using JMS Adapter.
    I Followed the steps in the "Adapter Knowledge Base: Technical Note #006: Correlation of Adapter messages within a BPEL process" document.
    This document explains how to use the native correlation in the JMS Adapter by modifing the wsdl produced by the JMS Adapter Wizzard.
    One of the thing the document says is that the invoke and recive must be sequencial and that the JMSMessageId of the first message should be placed in the JMSCorrelationId of the response.
    I've done all the steps and developed a Message Driven Bean that reads the request and publishes the response accordingly.
    I'm gessing that someone else already have this kind of problems...
    If there is someone that might be able to help please send me an email to [email protected], so i can send the project to you.
    Tks.

    sorry, i forgot the say one thing.....
    There is a table in the orabpel that is named Native_correlation....
    somehow this table is never populated...
    Tks once more

  • How to set message id for JMS

    Hi All,
    I set up the JMS connection with JBoss, and send the message asynchrously to JBoss successfully.
    But right now, Jboss need to use the incoming message ID as correlation ID in Jboss.
    How could i set the message id from payload (not PI message ID, not PI Conversation ID) for JMS receiver adapter?
    thanks a lot
    already check the following links:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Re: jms message id in jms sender channel
    JMS Correlation ID
    XI JMS mq series correlation id
    cannot find any about set JMS Message ID from payload
    Edited by: Lawrence on Dec 24, 2009 2:21 PM

    Hi Lawrence,
    I am not sure how jboss will store message,But i had done similar requirement but my system is MQ,Standard JMS adapter not supports to chnage the value or set mesage id in MQ,we can change the PI Message ID Value but not JBOSS/MQ Message ID.
    Writng module is the one option.
    Regards,
    Raj

  • Proxy to JMS and JMS to Proxy - Szenario

    Hi @all,
    i've implemented an async scenario:
    Proxy to JMS (away, request)
    JMS to Proxy (way back, response)
    Backend is ECC 6.0 and Middleware is PI 7.1.
    Business Case: Run a request with a number, get an answer back with an entry. The number is an individual criteria which is not included in the answer. So I decided to write the number in JMSCorrelationID, therefore I've written an UDF in Message Mapping.
    I've checked the JMS Correlation ID in additional properties and also added this into the list of additional properties:
    key.0 -> read xxxx DCJMSCorreleationID
    value.0 -> DCJMSCorrelationID.
    First question: is there something what I should account for in JMS receiver channel?
    At the way back I've implemented another UDF for writing the JMSCorrelationID back to payload in message mapping.
    But I'm not sure that works. The coding looks like:
    try
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey KEY_JMSCorrID = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSCorrelationID");
    String a = conf.get(KEY_JMSCorrID);
    catch(Exception e){}
    return a; //a is an input field for the payload back to SAP backend.
    Second question: is there something what I should accound for JMS sender channel? Do I need to add the DCJMSCorreleationID to the list of additional properties (JMS Correlation is checked)?
    Thanks in Advance,
    Stefan

    Hi,
    thank you for your answer.
    The Proxy to JMS scenario works well and overwrites the JMSCorrelationID given by a number from message payload.
    Could you please take a look at the given udf-coding that belongs to JMS to Proxy Scenario?
    Is it possible to get the JMSCorrelation at this way?
    I also put in JMS-Sender-Channel the JMSCorrelationID into the additional JMS-Message properties and checked "correlation-id from jms message" in adapter specific message attributes.
    In Module-Tab of JMS-Sender-Channel i put the module-configuration in a way like this:
    -> key.0 insert http://sap.com/xi/XI/System/JMS DCJMSCorreleationID
    -> value.0 DCJMSCorreleationID
    Do you think that works?
    I could not verify this configuration until I get an entry in outbound queue so I can't make tests to that.
    In Message Mapping - Test a Null Pointer Exception Occurs, according to the UDF, because I'm reading the DCJMSCorreleationID which is not present at mapping ad hoc test - I think that is ok.
    Thank you in Advance,
    Stefan

  • SOAP to JMS synch scenario issue

    Dear Experts,
    I am working on SOAP to JMS (Websphere MQ) synch scenario.In the ESR i created 2 synch service interfaces(1 Inbound & 1 outbound).
    I created my 1 SOAP communication channel with QOS as "Best Effort"  2 JMS comm channel( 1 Receiver & 1 Sender).
    I am getting " no message received error in JMS receiver channel and no correlation id found error in JMS sender channel. I am attaching my channel config,error log.
    I am using PI message ID as correlation id for JMS sender and receiver channels.
    Thanks,
    Pavan T,
    +91 9901742424

    I think you should use the notify response bean on the sender channel
    Configuring the Sync/Async Bridge Using the JMS Adapter -  Adding Modules to the Module Processor - SAP Library
    Sync/Async communication in JMS adapter without BPM (SP19)

  • Problem setting a provider specific property : JMS adapter

    Hi Experts:
    I need to set a provider specific property as required by the third party in a IDoc to JMS scenario.
    The property name starts with JMS_ and is offcourse a property specific to the JMS provider.
    The way I am setting it is I have declared a Additional JMS message property by the same name as desired by the third party say
    JMS_XXX
    and then using the DynamicConfigurationBean I assign a value to this in the reciever channel.
    The problem that we have observed is, all other properties are set as desired, only this one for which the name starts with JMS_ is not set correctly.
    Is it possible to set such a provider specific property using XI or not?

    Hi Amol,
    Adapter-Specific Message Properties
    ·        To store adapter attributes in the message header of the XI message, select Set Adapter-Specific Message Properties.
    ·        To apply the following attributes in XI message headers, set the corresponding indicators:
           Name                                           Technical Name
    JMS Message Correlation ID               DCJMSCorreleationID
    JMS Message Delivery Mode               DCJMSDeliveryMode
    JMS Message Destination                   DCJMSDestination
    JMS Message Expiration                     DCJMSExpiration
    JMS Message ID                                DCJMSMessageID
    JMS Message Priority                         DCJMSPriority
    JMS Message Redelivered Flag            DCJMSRedelivered
    JMS Message ReplyTo Destination      DCJMSReplyTo
    JMS Message Time Stamp                   DCJMSTimestamp
    JMS Message Type                              DCJMSType
    Used JMS Message Selector                 DCJMSMessageSelector
    Used JMS Message Queue                    DCJMSMessageQueue
    JMS User                                                DCJMSUser
            If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (10 Maximum).
    ·        In the table, enter the names of the JMS message properties whose values are to be included in the message header of the XI message.
    The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
    You can enter more than 10 properties in the table, but only the first 10 are taken into account.
    The attribute namespace for the adapter is http://sap.com/xi/XI/System/JMS.
    if found worth pls do the req
    Thanx
    Sampath

  • Dynamic Quee names in JMS Channel

    Hi,
    Message is being sent from SAP -> PI -> TIBCO using JMS queues using JMS channels.
    Is it possible to configure the queue names based on the value in the message?
    Thanks,
    Aravind

    Hi,
    you need to set a dynamic queue in PI or in JMS ?
    the blog mentiones how to create a queue in PI (on the basis of content)
    and that's how I understood your question...
    if you want to set dynamic queue for the JMS then I don't know the way
    hope we're talking about the same thing here
    BTW
    with JMS receiver you can only set those values dynamically:
    JMS Message Correlation ID DCJMSCorreleationID
    JMS Message Expiration DCJMSExpiration
    JMS Message Priority DCJMSPriority
    JMS Message ReplyTo Destination DCJMSReplyTo
    JMS Message Timestamp DCJMSTimestamp
    and JMS message properties but not the queue name
    if you need to set a queue name in JMS dynamically (and we did that in our project)
    was to send everything to one queue (router queue) and the real queue name was specifed in the JMS message property
    and JMS (activeMQ - camel) was able to distribute from dummy queue to the one from the JMS message property
    (config only - no coding so I'd assume most of the JMS should be able to do the same)
    Regards,
    Michal Krawczyk

  • Difference between conversion id and correlation id in bpel

    Hi All,
    In invoke/receive/pick activity, there are two options. one for conversion id and one from correlation id. I know the purpose of correlation id in these activities. But donot know what is the difference between both.
    Are both having same functionality or something overlapping.
    Regards,
    Sunil

    Sunil,
    Find an explanation here:
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_correlate.htm#sthref914
    Arik

  • Connection & Session Pooling

    Hi
    I am using JMS in a request/reply scenario.
    The following is the sequence of operations
    1. Get handle to Connection by JNDI lookup of QCF
    2. Get handle to RequestQueue by JNDI lookup of Request Queue
    3. Get handle to ResponseQueue by JNDI lookup of Response Queue
    4. Create a Session and Sender on the Connection/RequestQueue.
    5. Create a JMS message and send it with a correlation id on the Sender
    6. Create a Session and Reciever on the connection/ResponseQueue with "CorrelationID" as message selector.
    7. Receive the JMS message over the reciever.
    There are multiple threads trying to send and recieve messages. Now my questions are --
    1. What all things above can be re-used/pooled? Can I use only connection and create, say, for example 100 sessions and reuse them across 100 different threads?
    2. Or Can I reuse the Senders and recievers as well? In other words, can I create 100 senders (or receivers) and reuse them over 100 threads. (In other words can I create a "SenderPool" and use them)
    3. How many Sessions can be opened on one Connection?
    4. I heard about ServerSessionPool, but did not have any pointers on how to get a handle to a ServerSessionPool? Will this be useful in this scenario?
    Any help is highly appreciated,
    Thanks and regards,
    Rajs

    Did you get an answer for this? Could you please
    explain how you obtained a handle to
    ServerSessionPool? ServerSession, ServerSessionPool (plus ConnectionConsumer) are part of JMS spec, ch 8, and are called Application Server Facilities (ASF). As the name suggests, the purpose is to bind a JMS provider into an app server.
    You can, of course, use this facilities in a JMS client program, however, you have to provide the parts the app server has to provide. These are the impls for ServerSession and ServerSessionPool. Actually it's quite easy once you understand how it works, although, to understand how it works is not that easy. ;-)
    You might take a look on our JMS XA/ASF impl to get an impression how it works from the perspective of a JMS provider:
    http://www.swiftmq.com/products/kernel/jmsxaasf/index.html
    -- Andreas

  • How do I access the DCJMS* variables in my response SOAP:Header ?

    Hi all,
    I have set up a sync / async Integration Process in XI
    This is initiated by a SAP R/3 transaction that calls a synchronous function to enter XI
    Once in the Bridge, a JMS receiver adapter sends out an asynchronous request message from XI to MQ
    A correlation allows the JMS sender adapter to return an asynchronous response message from MQ to XI back into my the Integration Process
    I have set up the JMS sender adapter configuration to return the DC (dynamic configuration) variables in the <SOAP:Header> of the XI response message along with the payload
    You can see that the DCJMS* variables are returned below
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Response
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    + <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <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/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information
    <b>Question</b>
    I want to access the DCJMS* variables but am not sure how to go about it as the
    variables exist in the <SOAP:Header>?
    I followed the SAP documentation to access adapter-specific attributes (refer to link http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    I have used the following code to create a user-defined function for the accessing adapter specific attributes (similar to the link)
    public String Get_Msgid(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSMessageID");
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    <b>Question</b>
    Do I use message mapping to extract the DCJMS* variables?
    <b>Question</b>
    If so then which message is used for the source message so that I can access the <SOAP:Header>?  Eg do I use the response message type or is there a trick to accessing the SOAP:Header?
    <b>Question</b>
    Do I use the user-defined function (like above)?
    I performed the following steps
    •     Opened the message mapping in edit mode
    •     Created the user-defined function using the graphical editor
    •     Saved the message mapping
    •     I have not connected the user-defined function to any of the xml tags in either the source or target messages
    When I go to test the message mapping I am getting the following error
    Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    STACKTRACE:
    com.sap.aii.ib.core.mapping.exec.ExecuteException: Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    at  com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
    at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:153)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    A thread in the SDN (Error while Activating Message Mapping, Posted: Jan 9, 2007 3:32 PM) suggests checking the java path on the XI machine
    This is JAVA_HOME=C:\j2sdk1.4.2_08 and seems ok
    <b>Question</b>
    Do you know why I would get the compilation error?
    Any assistance would be appreciated
    Regards,
    Mike

    Jin,
    My compilation issue has gone via a SAP recommendation to specify the JDK home directory in the instance profile
    Back to the mapping - I can now run my scenario
    <b>Source message</b>
    The response message has the following <SOAP:Header> from which I want to extract the DCJMSCorreleationID (note that it's misspelt)
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Response
      -->
    - <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/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    <b>Grahpical mapping</b>
    LHS - Response message with occurrance 0..1 so it is not connected to my UDF
    UDF Get_Corrid with no inputs
    RHS - The UDF output is connected to the Acknowledgement msg tag <ACK>
    <b>UDF</b>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSCorreleationID");
    String Corrid = conf.get(key);
    return Corrid;
    <b>Target message</b>
    The idea is to copy the correlation id of the response message into the acknowledgement message.  But as you can see the result is NULL
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns2:AWB0020_MARKET_DATA_RESPONSE_ACK xmlns:ns2="http://awb.com.au/mq/tx/MarketData">
      <ACK>null</ACK>
      </ns2:AWB0020_MARKET_DATA_RESPONSE_ACK>
    Please advise
    Thanks Mike

Maybe you are looking for

  • Blank white pages in Safari (until Firefox opens them)

    Occasionally, pages will come up blank in Safari. (View source is also blank.) These are pages that have worked fine in the past, and they are simple HTML, with no JavaScript, etc. Refreshing and deleting history do not help. What does help is openin

  • Why isn't the overlay working?

    hey everyone - i've got a clip in final cut pro that i wanted to end with a quick light streak overlay. i opened up motion, made a 5 second black 0% opacity sequence, and added the streak. then clicked the layer, and chose the blending mode of "overl

  • Apple Password doesn't work when it is the correct password

    A few days ago, in the middle of playing music on iTunes, I was no longer able to sign in. When I tried to sign into Apple that day, my password (which I know was correct) didn't work. So I reset my password. Today I tried to sign into Apple with the

  • Nokia n8 nokia store wont open

    hey guys. after hard resetting the N8, nokia store wont open. i also did a restore and it still wont open. also ninja fruit wont open also but angry birds opens. and not all applications are backed up. i am missing 4 applications and one of them is o

  • Sent mail on N8

    everything is working fine in my new Nokia N8. I receive and send mail all right. Only thing, is that in the sent mail folder I don't find the messages I sent. I assume there is some setting that has to be configured, but I don't find how. can anybod