MessageQ: dynamic queue names

In our application we would like to do the following:
at runtime, attach to a temporary, secondary queue.
bind some arbitrary name to this queue. exec a new process with the new queue
name given to it as parameter.
The 'child' process should be able to read messages put on the queue by the 'father'.
I haven't been able to get this to work. After creating
a temporary, secondary queue, my bind_q call fails with a PAMS__NOOBJECT error.
Are there any configuration items that are needed before this
can work?
Thanks, Guy
If theres a more appropriate forum for MessageQ questions, could you please point
me to it? Thanks, Guy

> please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
But here case is different. e.g. RFC --> PI --> JMS  and reply will get back from JMS  to RFC.  So definetly in this case response will come from sender JMS and not from receiver JMS.
Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
Regards,
Sarvesh

Similar Messages

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Help on Dynamic queue name in JMS Adapter

    Hi Experts,
      Could you please explain how to configure dynamic queue name in JMS Adapter.
    My requirement is i would have to add the date and time to JMS Queue Name in receiver JMS Adapter.
    Thanks in Advance
    Chilla

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Reg: Dynamic  Queue name

    Hello Experts,
    Although I am not  a PI expert i would like to ask ,
    Can I have Dynamic Queue name generation on the basis of the payload which i am receiving
    Quality of service my be any EO or EOIO .
    For example My pay load stream my contain  Data for Purchase Req. Creation   / and change its a known fact that Creation payload should come first and then change so my Question is can i have my queue name on basis of the Document which i am processing ?

    I dont thnik this is possible in PI for generating queue names based on payload. As Queue should be utilized proper way and based on the PI resources like work processes,.
    But for your scenario, you can use EOIO and specify queue name accordingly for both scenarios.
    And you can do Queue prioritization to assure the creation payload followed by change payload.
    --Divyesh

  • Dynamic Queue names at JMS receiver

    HI All,
                I have a scenario where sender is an RFC and receiver is via JMS  and also get a reply back . JMS is asynchonous but as suggested in other threads it is possible to capture the response by setting some Adapter specific parameters.
                But my problem is the queue name for the response is not constant and it varies from request to request for the response. I have no clue how to achieve this , I tried searching some threads but couldn't come to a conclusion.
                Possibility of dynamic MQ queue selection in one receiver JMS channel
                help on Dynamic queue name in JMS Adapter
    Has anyone come across such a situation ? Please suggest.
    Also In one of threads it was suggested to use Java Proxy?  Please suggest a way forward in this approach too
    Regards,
    Mohan.

    > please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
    Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
    But here case is different. e.g. RFC --> PI --> JMS  and reply will get back from JMS  to RFC.  So definetly in this case response will come from sender JMS and not from receiver JMS.
    Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
    Regards,
    Sarvesh

  • Set Queue name dynamically in MQ adapter

    Hi,
    Kindly suggest, how to set Queue name dynamically in Mq adapter.

    Hi Ajay,
    Thanks for your response.
    Below mentioned property value works fine for JMS adapter.
    Am looking for the property name of MQ adapter.
    Tried to set the queue name to the property jca.mq.ISpec.EnqueueMsgToQ and failed.
    Could you please provide the property name for MQ adapter

  • How to set queue names dynamically for MQ Adapter - SAP XI

    Hi Friends
      I have a scenario where I should send a message to multiple queues ( more like broadcasting ) using a single communication channel of MQ Adapter. The scenario is like this
    1. If the message content contains value '111' then message should go into Queue A, Queue B, Queue C
    2. If the message content contains value '222' then message should go into Queue A, Queue B
    I will store the content values inside a table ( value and queue names ) and can pick it up inside BPM but want to know how to change the queue name property of MQ series adapter. I will do this inside a loop so the message can be sent to multiple queue names but want to know how to change the queue name property of receiver communciation channel.
    I appreciate the help in providing the answer.
    thanks
    Kannan

    Amaresh
      Thanks for your answer but my question is specifically targeted towards MQ adapter and the queue name which has to be dynamically changed. I can do the dynamic changes for file adapters but want to know how to change the queue names in message mapping or inside BPM.
    regards
    Kannan

  • Overwriting AQ Queue name dynamically in OSB

    Hi,
    Can any one please help me on this.
    Is there any way we can overwrite the AQ Queue name dynamically at runtime in OSB . I copuld see that its a property within the .jca file. Is there any way we can overwrite it at run time.
    Thanks,
    Naveen

    you could add routing options to overwrite the URI on runtime.
    or use dynamic routing if you have seperate business services for the aq endpoints

  • Change Queue Name in Sender Soap Adapter (or make it dynamic)

    Hello SDN!!!!
    We have a scenario where we want to make a message EOIO and I have set the Queue Name in the Sender Soap Adapter and this works great. BUT it is needed to have a more specific queue name (based on order numbers not interface name) So with this being said, Is there any way to change the queue name or append to it from the Soap Sender Adapter. I see it is possible to write a Module Bean, but the Message object returned from the ModuleContext is a scaled down version of the normal message object. Any help would be greatly appreciated
    Cheers
    Devlin

    Is this the only way to change the queue name for Soap Sender? I don't think it is possible for them to do this, as their urls are static when calling us

  • Dynamic File Name - UDF

    Hi Master,
    I written the UDF for Getting the Dynamic File name.
    DynamicConfiguration conf = (DynamicConfiguration) container.getParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    // Retrieve the filename
    String FileName = conf.get(key);
    This is working ok - but I want to return these values so I can be used in mapping.
    when I try to add the statement return FileName; , the compiler then complains with the following error:
    cannot return a value from method whose result type is void return FileName;
    Please help me,
    Thanks,
    Anu

    Thanks Nithiyanandam,
    I am using the Same code. But i am getting the Syntax error:
    Source code has syntax error:  E:/usr/sap/DX1/DVEBMGS01/j2ee/cluster/server0/./temp/classpath_resolver/Mapaf708c00d6bb11dd83ee00101816a382/source/com/sap/xi/tf/_MM_I_FF_O_RFC_.java:13: cannot resolve symbol symbol : class variable location: class com.sap.xi.tf._MM_I_FF_O_RFC_ variable a; ^ 1 error
    UDF Name: FileName
    while creating the UDF, I select the first radio button(Value). not  Context and Queue.
    I written the below code.
    DynamicConfiguration conf = (DynamicConfiguration) container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(
        "http://sap.com/xi/XI/System/File",
        "FileName");
    String FileName = conf.put(key, a);
    return FileName;
    Thanks,
    ANU

  • Dynamic queue selection with Asynchronous RFC call

    Hi Experts,
    I have a new requirement in designing the business process thru XI. The scenario is posting production orders from a web service thru XI to R3 ( RFC calls). The requirement is that the production orders may come from different plant (Plant and production line combination). So in order to faciliate the load balancing we need to dynamically allot all the process orders from a Plant to single or two queues ( by queues i mean the queuing of the RFC requests with QoS = EO or EOIO). So dynamic selection of queues (XBIXnn) is possible in XI ?.
    Please let me know in case you need further clarification on this
    Thanks in advance

    Rajesh,
    Some more interesting read from,
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm
    <i>Define Quality of Service (EOIO)
           8.      Specify EOIO (Exactly Once in Order) as the quality of service, as required.
    Messages are then delivered in the same sequence that they are sent in by the integration process.
                                a.      Specify a queue in the Queue Name field.
    You can choose the name of the queue yourself.
    Max. length: 16 characters
    Permitted characters are alphanumeric characters and the following special characters:
    / (slash)
    _ (underscore)
    - (hyphen)
    All send steps that have the same queue name are delivered in the sequence that they are sent in by the integration process.</i> 
    Should be possible if you use a BPM.
    Regards
    Bhavesh

  • Passing the queue name to the sender JMS adapter at run time..

    Hello Experts,
    I have a scenario where PI is to pick data from MQ queues. The message type coming from queues is same and the procession needs to be done with PI is also the same.That's the reason why we want to have only one interface processing the data for all the queues.
    My question here is that is there any way where I do not put the queue name in the sender adapter at design time and based on the data availability in the queue let the sender adapter know the queue name to be processed at run time.
    Any suggestions will be greatly appreciated.
    - Rajan

    > My question here is that is there any way where I do not put the queue name in the sender adapter at design time and based on the data availability in the queue let the sender adapter know the queue name to be processed at run time.
    Unfortunately for JMS Sender CC it is not possible, but other way around is possible. I.e. you can dynamically choose the receving queue names by using ASMA "JMSReplyTo" in JMS Sender CC.
    Regards,
    Sarvesh

  • Change Queue name in Message mapping

    Hi
    We want to change the queue name dynamically in the message mapping.
    We refered the post
    Re: EOIO queue name change
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/frameset.htm
    But as said in it, we are not able to access the parameter QUEUE_ID or QUALITY_OF_SERVICE.
    Other than these two parameters, we can access all parameters.
    Below is the code to access one of them.
    while compiling, the message mapping gives error as below.
    cannot find symbol
    symbol  : variable QUEUE_ID
    Any pointers.
    ///// CODE
    MappingTrace trace;
    String constant;
    java.util.Map map;
    trace = container.getTrace();
    // get constant map
    map = container.getTransformationParameters();
    constant = (String) map.get(
           StreamTransformationConstants.QUEUE_ID);
    trace.addInfo("QUEUE ID:" + constant);
    return constant;
    Regards
    Anandan

    Hi Anandan,
    As given in help you can only get queue Id if you have Quality of service as ExactlyOnceInOrder. So make sure you have selected that option.
    http://help.sap.com/saphelp_nw04/helpdata/en/6e/ff0bf75772457b863ef5d99bc92404/content.htm
    Regards,
    ---Satish

  • 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

  • Dynamic file name from input payload (RFC 2 flat file)

    Hi,
    I have an RFC to flat file scenario. The output flat file has not an XML structure, it's just a plain text file generated with abap mapping.
    In my source interface (RFC), I have a field called <FILENAME>, I want to use the value of that field to create the target file using dynamic file name. But if  in variable substitution I use payload:ZRFC_NAME,1,FILENAME,1 It doesn't work because the dynamic variable substitution try to access to output payload, not the source one...
    What can I do?

    Hi Marshal,
           You can add a extra node to your target strucutre like
    FileName- Node
    --FileName - Element.
    do the mapping from the field filename of RFC to FileName field in u r target strucure. And use this  field path at Refrence in variable subtituion.
    In the Content converison add the Name & Values as below
    FileName.fileldNames -- FileName
    FileName.fieldFixedLengths -- 0
    FileName.fixedLengthTooShortHandling -- Cut
    So the extra field in u r target structure would not populate in u r target text file.
    Cheers
    Veera

Maybe you are looking for