Setting JMS Message header and properties in JMS Adapter ESB Component

Hi,
I am new to using some of these adapters in Oracle ESB and need some help.
I am trying to define a JMS Publisher using JMS Adapter component in JDeveloper. I would like to publish messages with message property set to a topic. I dont find a way to do that.
I see that for consuming JMS messages, the JMS Adapter allows to specify message selector but I could not find a way for producing message with a user defined message property. I would like to use that property in the message selector to filter messages and consume.
I am using Oracle SOA Suite 10.1.3.3.x
Can someone help please?
Thanks.

Thanks for the response.
I think I found the solution although I havent tried it out yet.
ESB sample 110.JMStoJMSHeaders outlines the approach.
It is my understanding that JMS Message selector can work on JMS header or JMS properties (user defined) but not on JMS body. (All the three constitue a JMS message). Hence the need to set a JMS property prior to publishing the message to a topic/queue.
Thanks.

Similar Messages

  • Trouble using JMS Message Selector and DCJMSMessageProperty0

    Hello Experts!
    My scenario is Mainframe => MQ => JMS Adapter => XI => SAP
    My MQ channel is communicating fine to XI and I've set the JMS adapter to JMS Compliant.
    I have multiple message types with consistent headers but varying data layouts that I need to route to different mapping objects. So it seems the best solution for this is JMS Message Selector based on reading a header value from one of the dynamic message properties.
    I've read SAP Notes and SAP Library and SDN Wiki articles about this configuration and I think its possible.
    http://help.sap.com/saphelp_nw04s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    Note 856346 - J2EE JMS Adapter: Frequently Asked Questions (FAQ)
    Note 1086303 - XI JMS Adapter and IBM Websphere MQ: FAQ
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/usage%252bof%252bmessage%252bselector%252bfor%252bjms%252bsender%252badapter
    My mainframe sends an MQ message that includes some extra header information like
    field: ApplType  VALUE: 000000002                                              
    field: ApplName    VALUE: MIS056O          
    I configured my Communication Channel to set Adapter-Specific Message Attributes and also Additional JMS Message Properties to include ApplType and ApplName.
    However, I can only see some of the standard JMS header items such as CorrelationID, none of the additional ones.
    In RWB I see "JMS property 'ApplType' that corresponds to dynamic header 'DCJMSMessageProperty0' is missing from JMS message 'ID:f2f0f0f9f0f4f2f1f0f9f1f5f5f3f7f44040404040404040'; consequently it cannot be added to XI message 'e136a6e8-8580-4adc-2007-9ccab93f1ef4' as a dynamic header"
    Can anyone with some experience doing this help me see if I'm missing a trick somewhere? How can I see where this information is being dropped? Could it be when MQ is handing to JMS?
    Many thanks,
    Aaron

    After sifting through some IBM documentation I found that the PutApplName field actually maps to JMS name JMSXAppID. So after adding this to my Additional JMS Message Properties list I get the dynamic JMS message property I need for sorting out the messages.
    http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/topic/com.ibm.mq.csqzaw.doc/uj25450_.htm

  • Reading Message Header and mapping

    Hi,
    If a userId is coming in the message header of the source message and I want to map it with one of the fields in the destination structure then How can it be done ?
    Can dynamic configuration be of any use here? I have RFC receiver and proxy sender.
    Please suggest.

    >
    neelansha singh wrote:
    > Hi,
    > If a userId is coming in the message header of the source message and I want to map it with one of the fields in the destination structure then How can it be done ?
    > Can dynamic configuration be of any use here? I have RFC receiver and proxy sender.
    >
    > Please suggest.
    my understanding is your sender is a proxy (ABAP???).
    There is a user id as part of the message header and you want to access it during mapping.
    Dynamic configuration will not help in this case for a proxy sender. hence the best way is to have that user id stored as a field in the proxy structure itself so that it will be easily used for your mapping. This is the simplest solution.

  • How to set MQ message header properties using JMS adapter? (10.1.2)

    Hello,
    I am trying to send MQ messages from a BPEL process. We are using OAS 10.1.2 and JMS MQ adapter. Could you please let me know how to set the message descriptors like message format, type, report and reply to queue properties and queue open options (in jmsAdapterOutboundHeader).
    Regards,
    Geratayya

    put something like this
    <activationAgents>
          <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="PARNERLINKNAME">
            <property name="clusterGroupId">SOMEUNIQUEVALUE</property>
            <property name="portType">PARTNERLINK_PORTTYPE</property>
          </activationAgent>
        </activationAgents>

  • How to set a page header and footer of an excel file i'm creating

    Hello !
    SORRY MY ENGLISH is very BAD.
    I tried to set page header and footer in Excel sheet with ABAP  ole
    DATA : BEGIN OF enter,
    x(1) TYPE x VALUE '0D',
    END OF enter.
    DATA : format(255) TYPE c.
    FORM set_page_sheet.
    CALL METHOD OF excel 'ActiveSheet' = sheet.
    CALL METHOD OF sheet 'PageSetup' = pagesetup.
    SET PROPERTY OF pagesetup 'Orientation' = xllandscape.
    SET PROPERTY OF pagesetup 'PrintTitleRows' = '$9:$12'.
    CLEAR format.
    ERROR
    CONCATENATE 'PAGESHEET' enter-x 'PAGE &P/&N' INTO format.
    ERROR
    SET PROPERTY OF pagesetup 'RightHeader' = format.
    CLEAR format.
    CONCATENATE ' Text 1 ' enter-x 'Text 2'
    enter-x 'Text 3 ' INTO format.
    SET PROPERTY OF pagesetup 'RightFooter' = format.
    FREE OBJECT pagesetup.
    ENDFORM. " set_page_sheet
    Activate report -
    ERROR - The enter-x must by data type c or another then data type x
    Thanks for answer.

    Try to define ENTER this way & try
    class cl_abap_char_utilities definition load.
    DATA : BEGIN OF enter,
    x type c value cl_abap_char_utilities=>cr_lf,
    END OF enter.
    PS : I am not 100% sure about this.

  • JMS Message encoding and attaching security certificate

    Dear All
    I am working with JMS Adapter, I need to encode the message and attached a certificate beforing sending to bank.
    Please share your idea.
    Regards
    Aamir

    Aamir,
    Please cross post SOA Suite related queries in SOA Suite forum -
    SOA Suite
    Your requirement can be implemented using custom XML format with a custom java encoder/decoder.
    Regards,
    Anuj

  • I cannot complete stage 3 for setting up messages; 'tap and send' - any advice?

    Any advice to complete set up of messages on my new ipad? I cannot complete 'stage 3 - tap and send'?

    A fairly common error people make when using messages, is to type their outgoing message in the Subject field which is just above the Message field.  In fact, I think it's a good idea to turn the message field to OFF.
    Settings/messages/turn subject field off

  • Setting a fixed width and a changing height for a component within a panel

    Alright guys here's my next question. I'm now having trouble trying to figure out how to only resize the height of a JTabbedPane yet keep the width fixed. In other words, as the JPanel its in changes in size, I'd like to have the width of my tabbed pane stay a certain value yet let the height of it adjust to the panel's height as it changes. Is there a way to somehow extract the panel's height into a int or something and then when using the setPreferredSize() function simply implement this retrieved value into the function's height parameter? I've tried messing around with Dimensions and getHeight() functions and the sort but to no success. For instance, within the constructor of one of my JFrames using System.out.println(this.getHeight()); prints 0, when of course this is not the case in reality for the frame's height. The panel's changing size is due to the user resizing the window its in. In one of my previous threads in this forum I learned how to use a GridLayout (it was 2 rows and 1 column in size) to keep the height of the top area in a BorderLayout fixed, yet as the user resized the window, the layout would stretch the area width-wise accordingly. However, that was because I had 2 cells in the layout to control, and I know this wouldn't work with only 1. Any ideas?

    You still apparently haven't read the tutorial on using Layout Managers to understand the capabilites of each Layout Manager.
    For instance, within the constructor of one of my JFrames using
    System.out.println(this.getHeight()); prints 0, when of course this is not the case in reality for the frame's heightComponents don't have a size until the GUI is visible on the screen. That is until you've done a pack(), or a setVisible( true ). You should never be using setSize().
    Layout Managers use setPreferredSize() ,setMinimumSize() and setMaximumSize() as suggestions for determining the layout. Although most layout managers don't use all the suggestions, which is why you need to read the tutorial to find out how the layout managers work.
    I'm now having trouble trying to figure out how to only resize the height
    of a JTabbedPane yet keep the width fixedWell, I don't understand the requirement. The preferred size of a tabbed pane is equal to the preferred size of the largest tab added to the tabbed pane. So I don't understand the concept of artificially changing the vertical height.
    Anyway reread the tutorial on "How to Use the Border Layout". Two of the 5 areas respect the width of the component but alter the height to fill all the available space.
    If you need further help then you need to create a [url http://homepage1.nifty.com/algafield/sscce.html]Short, Self Contained, Compilable and Executable, Example Program that demonstrates the incorrect behaviour, because I can't guess exactly what you are doing based on the information provided.
    And don't forget to use the [url http://forum.java.sun.com/help.jspa?sec=formatting]Code Formatting Tags so the code retains its original formatting.

  • Max message header size

    Is there a max size of jms message header and properties?

    Is there a max size of jms message header and properties?

  • JMS message selector

    hi there,
    any one used JMS message selector field in the JMS sender adapter. I want to filter out messages that are relevant for various interfaces. where do i set the filter value. i read java docs, it says the filter is possible for message header and properties. the weblog on sdn is not exactly clear and it doesn't work either.
    thx

    Ya you can go ahead with it right ??? See it says you can filter on the basis of header info and its properties , so header info will have originating source info. Its worthful to use it that way . Please clarify if i am wrong , i think thats what u require filter msg on basis of interface for what you are using the adapter.
    ref : http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html
    ref : http://help.sap.com/saphelp_nw70/helpdata/EN/45/20d245ceff2b35e10000000a1553f7/frameset.htm
    I just tried , see if it helps , or i am wrong in getting your question
    If helpful please award points
    Abhishek

  • Static information to be added in  message header of the XI message  in JMS

    Hi Friends ,
    Is it possible to add some customer specific internal information to message header of the XI message in PI 7.1 level.. If so how ?
    customer wants to add some info and to verify whether it would be handled in PI itself or not..
    Business case :  SAP -
    > PI7.1 -
    > IBM MQ
    All inputs will be appreciated .
    Thanks.,
    V.Rangarajan

    Hi preetak ,
    Thanks for your info .Since i have not worked on JMS adapter
    As per the Link it says as follows
    If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (10 Maximum).
    ·        In the table, enter the Name and Java Type of the JMS message properties whose values are to be included in the message header of the XI message.
    Under Java Type, you define the JMS Java message type for the attribute in the created JMS message. The following are possible entries:
    boolean , init , String etc.,
    Question
    1. How to pass the value to this parameter  will it be XML file with parameter name and value ?
    2. Any other blogs to refer ?
    Thanks .,
    V.Rangarajan

  • Setting JMS Selector as JMS Message ID

    Does anyone knows how to set the JMS Selector as JMS Message id, i tried using JMSMessageID=P<720374.1242857046478.0> but i keep getting exception stating
    javax.jms.InvalidSelectorException: weblogic.messaging.kernel.InvalidExpressionException: Expression : "JMSMessageID=P<720374.1242857046478.0>"
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:164)

    Hi Tom,
    Do you know any general solution for the situation you mentioned in your last post on this thread? Unfortunatelly one of our customers have an architecture which mixes a weblogic 8 domain with a weblogic 10 one. The JMS server is in the weblogic 10 domain but they have an OOB IGW application which runs on weblogic 8 and uses the JMS API of it. The IGW application applies the JMS Message Id model for correlating the request and response messages, but the consumer, on the weblogic 10 side, cannot find the response message because the JMS Message Id changed. The JMS of webloigc 8 - I guess - put an 'N' char after 'ID:' into the msgId and paste the whole id into the correlationId field. But on the weblogic 10 side, the consumer have the original msgId without 'N' and, of course, it doesn't find the response msg.
    So do you have any general solution to convert between these different msgId formats?
    Thanks in advance,
    Andras

  • Messages Current and Messages pending in JMS

    Hello All,
    I would like to know the difference between Messages Current and Messages Pending in the JMS monitoring tab.
    I did read the official documentation but to be honest I am not sure I am undestanding it right !
    Could someone explain to me (in simple terms :-) the difference between the two ?
    Many thanks.

    Hi,
    Can you please tell me what fields in the Message Header indicate about the source and/ or target systems? For example the Directory header parameter, of Sender FILE channel, tells me from where the file was picked up.
    Likewise what does the field JMSDestination stands for?
    The screenshot which I have shows the JMS Message Header Details (the ASMA characters).
    Tried searching for fields like JMSDestination, but there is no information on SDN abou it.
    Thank you,
    Pankaj.

  • Enqueue JMS message to JMS advanced queue and raise business event.

    Hi,
    I am needing guidance on how to raise a business event with a JMS message type and enqueue it to an outbound queue WF_JMS_OUT from a PL/SQL stored procedure. I'm on version 11.5.10.2.
    I found an Oracle tutorial "Oracle Workflow and Java Messaging Service (JMS) Tutorial" which describes some of this but it mentions scripts to create the queues, listen for events, etc. and I can not find these (they are not included in the document).
    Any guidance, links or sample code, greatly appreciated!
    Cheers
    Graham

    I tried in the same way. But i got error in OSB.
    The error message is "Failed to lookup connection factory CustomConnectionFactory"
    CustomConnectionFactory -- This is my connection factory name.
    Do i need to make any jndi configurations in weblogic?
    Thank you.

  • JMS Message Property

    Hello Experts,
    we have a JMS to JMS scenario. A third party system sends a message to the JMS Queue (JMS Provider is the J2EE SAP Web AS, XI system). Via JMS Message Selector (configured the JMS Sender Adapter) the right integrationprocess get the message.The integrationsprocess sends the message to another JMS Queue. Because the integrationprocess have lost the JMS Header information (message properties) we configured the JMS Sender Adapter and the JMS Receiver Adapter to copy message properties. Described under help.sap.com:
    you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).
    ·        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.
    I debug and saw that the message properties was sucessfully copied to the header (receiver queue). But now if I use another selector the message will not found. It doesn't work with a third party system and with SAP XI (I've created another integrationsprocess, to read the queue)
    Thanks very much, for your help.
    Regards,
    Jürgen

    Hi there,
    there is a way (and a section somewhere in the help) to set adapter specific attributes in java mappings.
    The java doc for that can be found here:
    https://help.sap.com/javadocs/NW04/current/pi/index.html
    Hope that helps sbd who also has that prob.
    Cheers,
    Helge

Maybe you are looking for