XSLT sender plugin fails to set JMS message properties

When creating a JMS message to be put on a JMS queue, one of the XSLT for the XSLT automation plugin fails to set JMS string properties like: wlsmimehdrContent_Type
The content on the xslt are listed below.
The xslt in CPRLookupRequest.xslt sets:
wlsmimehdrContent_Type
SERVICE_SUFFIX
OSM_EVENT_TYPE
as expected, but the almost similar plugin NABSCreditEvalPluginRequest.xsl fails to set the same string JMS properties.
I'm looking for a clue, because I'm clueless. I'm an XSLT newbie, so it might be something simple.
The core part of the problem is put in bold in the listings below
h2. CPRLookupRequest.xslt:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns="http://java.sun.com/products/oss/xml/ServiceActivation" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oms="urn:com:metasolv:oms:xmlapi:1" xmlns:java="http://xml.apache.org/xalan/java" xmlns:xalan="http://xml.apache.org/xalan" xmlns:mslv-sa="http://www.metasolv.com/oss/ServiceActivation/2003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co="http://java.sun.com/products/oss/xml/Common" exclude-result-prefixes="oms java xsl xalan">
     <xsl:param name="automator"/>
     <xsl:param name="log"/>
     <xsl:param name="context"/>
     <xsl:param name="outboundMessage"/>
     <xsl:output method="xml" indent="yes" omit-xml-declaration="no" xalan:indent-amount="5"/>
     <xsl:template match="/">
          <xsl:apply-templates select="oms:GetOrder.Response">
               <xsl:with-param name="SERVICE_SUFFIX" select="'CprDomain/Cpr'"/>
               <xsl:with-param name="OSM_EVENT_TYPE" select="'CPR_LOOKUP'"/>
          </xsl:apply-templates>
     </xsl:template>
     <xsl:template match="oms:GetOrder.Response">
          <xsl:param name="SERVICE_SUFFIX" />
          <xsl:param name="OSM_EVENT_TYPE" />
*<xsl:variable name="void2" select="java:setStringProperty($outboundMessage, '_wls_mimehdrContent_Type', 'text/xml; charset=UTF-8')" />*
*<xsl:variable name="void3" select="java:setStringProperty($outboundMessage, 'SERVICE_SUFFIX', $SERVICE_SUFFIX)" />*
*<xsl:variable name="void4" select="java:setStringProperty($outboundMessage, 'OSM_EVENT_TYPE', $OSM_EVENT_TYPE)" />*
          <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
               <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                    <m:getPersonByCPR xmlns:m="/Cpr">
                         <getPersonByCprRequestInfo xmlns:n1="java:dk.tdc.soa.cpr.extern.datatypes" xsi:type="n1:GetPersonByCprRequestInfo">
                              <applicationId xsi:type="xsd:string"><xsl:text>CPR</xsl:text></applicationId>
                              <cprNumber xsi:type="xsd:string"><xsl:value-of select="oms:_root/oms:cpr" /></cprNumber>
                         </getPersonByCprRequestInfo>
                    </m:getPersonByCPR>
               </env:Body>
          </env:Envelope>
     </xsl:template>
</xsl:stylesheet>
h2. NABSCreditEvalPluginRequest.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" exclude-result-prefixes="oms java xsl xalan"
     xmlns="http://java.sun.com/products/oss/xml/ServiceActivation"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:oms="urn:com:metasolv:oms:xmlapi:1"
     xmlns:java="http://xml.apache.org/xalan/java"
     xmlns:xalan="http://xml.apache.org/xalan"
     xmlns:mslv-sa="http://www.metasolv.com/oss/ServiceActivation/2003"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:co="http://java.sun.com/products/oss/xml/Common">
     <xsl:param name="automator"/>
     <xsl:param name="log"/>
     <xsl:param name="context"/>
     <xsl:param name="outboundMessage"/>
     <xsl:template match="/">
          <xsl:apply-templates select="oms:GetOrder.Response">
               <xsl:with-param name="SERVICE_SUFFIX" select="'/APILink/CreditServices'"/>
               <xsl:with-param name="OSM_EVENT_TYPE" select="'NABS_CREDIT_EVAL'"/>
          </xsl:apply-templates>
     </xsl:template>
     <xsl:template match="oms:GetOrder.Response">
          <xsl:param name="SERVICE_SUFFIX"/>
          <xsl:param name="OSM_EVENT_TYPE"/>
*<xsl:variable name="void2" select="java:setStringProperty($outboundMessage, '_wls_mimehdrContent_Type', 'text/xml; charset=UTF-8')"/>*
*<xsl:variable name="void3" select="java:setStringProperty($outboundMessage, 'SERVICE_SUFFIX', $SERVICE_SUFFIX)"/>*
*<xsl:variable name="void4" select="java:setStringProperty($outboundMessage, 'OSM_EVENT_TYPE', $OSM_EVENT_TYPE)"/>*
          <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
               <env:Body env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                    <xsl:choose>
                         <xsl:when test="count(oms:_root/oms:cpr) + count(oms:_root/oms:birthDayPart) >0">
                              <xsl:call-template name="private" />
                         </xsl:when>
                         <xsl:when test="count(oms:_root/oms:cvr) > 0">
                              <xsl:call-template name="business" />
                         </xsl:when>
                    </xsl:choose>
               </env:Body>
          </env:Envelope>
     </xsl:template>
     <xsl:template name="private">
          <m:validatePrivateCustomer xmlns:m="java:dk.tdc.apilink.logic.sessions.interfaces">
               <validateCustomerCreditInput xsi:type="n1:ValidateCustomerCreditInput" xmlns:n1="java:dk.tdc.apilink.logic.datatypes">
                    <accountCategory xsi:type="java1:char" xmlns:java1="java:language_builtins">
                         <xsl:text>I</xsl:text>
                    </accountCategory>
                    <adrLocation xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:houseNo"/>
                    </adrLocation>
                    <adrStreetName xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:streetName"/>
                    </adrStreetName>
                    <adrZip xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:zipCode"/>
                    </adrZip>
                    <xsl:choose>
                         <xsl:when test="count(oms:_root/oms:birthDayPart) > 0">
                              <birthDate xsi:type="xsd:string">
                                   <xsl:value-of select="substring(oms:_root/oms:birthDayPart,1,4)"/><xsl:text>.</xsl:text>
                                   <xsl:value-of select="substring(oms:_root/oms:birthDayPart,5,2)"/><xsl:text>.</xsl:text>
                                   <xsl:value-of select="substring(oms:_root/oms:birthDayPart,7,2)"/>
                              </birthDate>
                         </xsl:when>
                         <xsl:otherwise>
                              <birthDate xsi:type="xsd:string">
                                   <xsl:text>19</xsl:text>
                                   <xsl:value-of select="substring(oms:_root/oms:cpr,5,2)"/><xsl:text>.</xsl:text>
                                   <xsl:value-of select="substring(oms:_root/oms:cpr,3,2)"/><xsl:text>.</xsl:text>
                                   <xsl:value-of select="substring(oms:_root/oms:cpr,1,2)"/>
                              </birthDate>
                         </xsl:otherwise>
                    </xsl:choose>
                    <firstName xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:firstName"/>
                    </firstName>
                    <lastBusinessName xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:lastName"/>
                    </lastBusinessName>
               </validateCustomerCreditInput>
          </m:validatePrivateCustomer>
     </xsl:template>
     <xsl:template name="business">
          <m:validateCompanyCustomer xmlns:m="java:dk.tdc.apilink.logic.sessions.interfaces">
               <validateCustomerCreditInput xsi:type="n1:ValidateCustomerCreditInput" xmlns:n1="java:dk.tdc.apilink.logic.datatypes">
                    <accountCategory xsi:type="java1:char" xmlns:java1="java:language_builtins">
                         <xsl:text>B</xsl:text>
                    </accountCategory>
                    <cvrNumber xsi:type="xsd:string">
                         <xsl:value-of select="oms:_root/oms:cvr"/>
                    </cvrNumber>
               </validateCustomerCreditInput>
          </m:validateCompanyCustomer>
     </xsl:template>
</xsl:stylesheet>

I have written an UDF to determine the filename dynamicly:
//write your code here
String str = "SAPDATA-" + a + "ES" + ".xml";
DynamicConfiguration conf = (DynamicConfiguration)
container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
conf.put(FileName, str);
return "";

Similar Messages

  • Specify JMS message properties with UMS send protocol ?

    Hi,
    is there a way to specify JMS Message properties when sending a message throught Universal Message Service (UMS) ?
    I was not able to find any reference to this kind of usage.
    Additionally, how do we specify filters (if possible) when receiving messages from UMS?
    Thanks.

    I have written an UDF to determine the filename dynamicly:
    //write your code here
    String str = "SAPDATA-" + a + "ES" + ".xml";
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
    conf.put(FileName, str);
    return "";

  • Failed to process JMS message

    Hi,
    While trying to read the message in Queue from my BPEL, Iam getting the following error:
    JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WTextMessageIn@ffae4c] in onMessage: Content is not allowed in prolog.
    org.xml.sax.SAXParseException: Content is not allowed in prolog.
    Can any one provide some suggestion on how to resolve this error.

    No, Iam just storing a simple message say "Hello" in the queue, the message is stored in the queue but it is shown in the below format when I opened that file in Notepad:
    UUªª ªªUU ‡ÿãÂ- ‡ 6›4•Z 6›4”öÿ Â
    Ô£9™ÿÿ¬h ÎM o „      fÂ6›4”ñ Trial4 com.sun.messaging.BasicQueue Hai ªªUU
    and soon Iam getting this error below:
    [Fatal Error] :1:1: Content is not allowed in prolog.
    JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WTextMessageIn@1e377d5] in onMessage: Content is not allowed in prolog.
    org.xml.sax.SAXParseException: Content is not allowed in prolog.

  • Additional JMS Message Properties

    Hi Guru's,
    I am looking for a solution to dynamicly set the filename for JMS receiver adapter. What I have found so far is that this should be done with the Additional JMS Message Properties...
    Based on a field from the source structure I want to determine the filename which will be send via the JMS adapter. Is there any documentation available on how to achieve this?
    Best regards,
    Guido Koopmann

    I have written an UDF to determine the filename dynamicly:
    //write your code here
    String str = "SAPDATA-" + a + "ES" + ".xml";
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
    conf.put(FileName, str);
    return "";

  • Propagate custom JMS message properties to replyTo message

    WebServices are invoked over JMS. In the SOAP JMS message request, I want to record some information in JMS properties and get them back in the reply JMS message received in the replyTo queue. I wonder if there is a way to do that, either by writing custom hook to copy over custom JMS message properties, or WLS recognize special JMS message properties that will be propagated.

    I have written an UDF to determine the filename dynamicly:
    //write your code here
    String str = "SAPDATA-" + a + "ES" + ".xml";
    DynamicConfiguration conf = (DynamicConfiguration)
    container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey FileName = DynamicConfigurationKey.create("http:/"+"/sap.com/xi/XI/System/File","FileName");
    conf.put(FileName, str);
    return "";

  • How To Set JMS Message ID

    Hi,
    I am working for a client that uses a MQ Series as their interface routing infrastructure.  They have written some custom tools that log MQ messages.  Their tools expect the MQ message ID to be in a specific format YYYY_MM_DD_HHMMSS_AAAAAA where AAAAAA is a unique set of characters based on the millisecond.
    Is it possible to set the JMS message ID on a JMS receiver adapter?
    Thanks in advance for your help,
    Craig

    Hi Craig,
    as it looks you have to set the Message Id in a special format. I am not sure if this is possible at all. I didn't find a way to influence how XI sets the JMS Message Id.
    Maybe you could work with the JMS Correlation ID instead and have your client adapt his tools. You can use either a User-Defined Function or a Java Mapping, setting the so-called Adapter-specific attribute DCJMSCorreleationId
    Here you can find an example how to do this in the User-Defined Function:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm
    In a Java Mapping it is similar:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/09b16006526e72e10000000a422035/frameset.htm
    This example uses the File Adapter, but the same applies for the JMS Adapter.
    The JMS Adapter has the namespace http://sap.com/xi/XI/System/JMS
    Have a look at this one to find out more about the Adapter-specific attributes of the Receiver JMS Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    I hope that this information is of some help for you.
    regards,
    Peter

  • Setting additional JMS message properties

    Hi ALL,
    I have a requirement where I need to create an adapter module to set additional message property for JMS.
    The property name has to be Key_String specifically.
    I am not sure whether to specify this name in the code written for the module or in the channel configuration.
    Please help.
    Thanks n regards
    Pushpinder Kaur

    You can use adapter specific message attributes for this.
    See online help, scroll down to "Advanced Tab Page"
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    Hope that helps
    Stefan

  • 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.

  • How to read JMS message properties from BPEL or BPMN process

    Hi all,
    I have a JMS Adapter that consumes messages from a remote ActiveMQ queue and I don't find the way the get the properties of the JMS message as I would like to map them in BPEL or BPMN process variable. I only manage to get the content of the message.
    I've also read that if using a MapMessage, one of the map entry can be mapped directly and that the other map entries go to jca.jms.Map.xxxx where xxxx is key of the map entry.
    But how can I map those "jca.jms.Map.xxxx" properties on process variables ? and how to map JMS Properties (that seem to be mapped on jca.jms.JMSProperty.xxxx) to process variables ?
    I use SOA Suite version : 11.1.1.4.0
    Thanks for your help

    SOA Suite 11g - how to set/get JMS headers ?

  • Message Selector and Setting JMS Header Properties PL/SQL Enqueue

    Currently I am attempting to use the Message selector functionality. I just know know exactly how we need to set the property in PL/SQL when enqueuing. I also want to verify the syntax that I should use in the event that I am doing this incorrectly...
    The code I am using to test the enqueue is
    declare
    enqueue_options dbms_aq.enqueue_options_t;
    message_properties dbms_aq.message_properties_t;
    message_handle RAW(16);
    agent sys.aq$_agent := sys.aq$_agent('', null, null);
    message sys.aq$_jms_text_message;
    recipients DBMS_AQ.aq$_recipient_list_t;
    BEGIN
    message := sys.aq$_jms_text_message.construct;
    message.set_text('<ORDER><HEADER_ID>16992531</HEADER_ID></ORDER>');
    message.header.set_string_property('bamfilter','ORDER_ENTRY');
    dbms_aq.enqueue(queue_name => 'XX_OM_MONITOR_Q',
    enqueue_options => enqueue_options,
    message_properties => message_properties,
    payload => message,
    msgid => message_handle);
    COMMIT;
    END;
    we have tried a few other methods, but still to no avail...
    the syntax I believe for the selector in the ems should be bamfilter='ORDER_ENTRY'
    Any help would be great.
    The DB the Queue is locate is on 10g if that makes any difference...

    Yes
    I am able to specify JMS Header and JMS Properties when producing a message. However I am not able to user "Message Selector" to filter messages based on JMS Properties information when consuming messages.
    In the link you provide, there is an example on how to use Message Selector:
    # (a copy from the link)
    Message Selector
    ...for example, you can enter logic, such as:
    * JMSType = 'car' AND color = 'blue' AND weight > 2500
    * Country in ('UK', 'US', 'France')
    I believe the example with "Country" is exactly what I need, but I can´t get it work.
    I create the same example above, setting a property named "Country" in the JMSHeader, sending the message to a JMS Queue (BPEL Process #1) and try to comsume it on the Message Selector (BPEL Process#2), but JMSAdapter never consumes the message.
    Thanks for your help.

  • Specifying additional JMS message attributes in Sender Adapter

    Hi,
    Iam using sender JMS adapter and I have to use the option " Specify Additional JMS Message Properties" for adding addtionalJMS properties in XI message header.
    Once I cselect the option in the below table  Iam not able to add new lines to add addtional JMS Message Properties..But In receiver adapter I was able to add the new lines.
    Is this option graded in SAP PI 7.3 or relatd to any authorization issue..?
    Is anyone faced this issue before.. Please help me out
    Thank you

    Hi everybody
    I'm starting a project where I have to take adptadores JMS and I'm in the same situation kirian, I am need to configure a JMS adapter  with version of SAP PI 7.3 and I wonder if anyone can help me or give me manuals leagues where information comes related.
    Someone can help me with this information
    Regards

  • Error in JMS message routing

    Hi,
    I am doing interface which send JMS messages to IDOC. JMS is sending three different messages (three XSD's) and I have created three separate interfaces as a below.
    A) Negative.xsd ; to IDOC1
    B) Positive.xsd ; to IDOC2
    C)Multiple.xsd ; to IDOC3
    When I get the Negative.xsd from JMS for the first time, Interface u2018Au2019 is executing and itu2019s creating IDOC1 successfully. When I get the Negative.xsd for the second time then the Interface u2018Bu2019 is executing (Instead of Interface u2018Au2019) and itu2019s trying to send Negative.xsd into IDOC2 and itu2019s getting fail.
    When we are getting all the three XSDu2019s at the same time then first interface u2018Au2019 is getting picked up and failed for the second (u2018Bu2019) and third (u2018Cu2019) interfaces and for first one is successful.
    Can you please guide me to pick the right interface?
    Regards,
    Kishore

    Hi, Kishore:
    In your situation, you need to configure Message Selector for your JMS sender adapter:
    1.  First you have to work with your JMS Queue system consultant, create a Property name, Saying "MsgType", its value is used to identify type of the message. e.g. the message of Positive Type put into the queue, its Property value "MsgType" can be set to "Positive"
    2.  In your JMS Communication Channel, Parameter Tab -> Advanced Tab, you need to Check " Adapter Specific Message Attribute"
    3. Then Check "Specify Additional JMS Message Properties
      Click "+" to add your property name, it should match the property name mentioned in step 1. e.g. "MsgType"
    4. In "Process" tab, you specify message Selector:
        e.g. MsgType = Positive"
    After you have done above step, this JMS adapter only pick message of the Property value "MsgType" equals to "Postive"
    You can create additonal JMS commnunication channels that polling from same queue, but only for different type of message: e.g. "Negative"
    Regards !
    Liang

  • 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

  • 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

  • Help. plsql callback of a jms message. Not working

    had examples of AQ working in my 10g r2 database using simple queues.
    however my problem is I want to use a jms queue. I can enqueue onto it all the time but it never notifies my subscriber and I am drawing a blank. Can anyone help me? Thanks in advance.
    Using the example below the data just sits in the queue for ever.
    Here is the example assuming installing into oracle user : demo.
    begin
    dbms_aqadm.create_queue_table
    (Queue_table => 'jms_message'
    ,Queue_payload_type => 'sys.aq$_jms_message'
    ,multiple_consumers => true
    ,comment => 'demo queue table'
    dbms_aqadm.create_queue
    (queue_name => 'jms_message_request',
    queue_table => 'jms_message');
    dbms_aqadm.start_queue
    (queue_name => 'jms_message_request');
    end;
    drop table demo_data;
    drop sequence s_demo_data_id;
    create table demo_data
    (id number(10)
    ,stuff varchar2(2000)
    create sequence s_demo_data_id;
    create or replace procedure plsql_subscriber
    (context raw,
    reginfo sys.aq$_reg_info,
    descr sys.aq$_descriptor,
    payload sys.aq$_jms_message,
    payloadl number
    ) is
    dequeue_options dbms_aq.dequeue_options_t;
    message_properties dbms_aq.message_properties_t;
    message_handle RAW(16);
    message sys.aq$_jms_message;
    v_stuff demo_data.stuff%type;
    begin
    dequeue_options.msgid := descr.msg_id;
    dequeue_options.consumer_name := descr.consumer_name;
    dbms_aq.dequeue(queue_name => 'JMS_MESSAGE_REQUEST',
    dequeue_options => dequeue_options,
    message_properties => message_properties,
    payload => message,
    msgid => message_handle);
    v_stuff:=
    'Type: ' || message.get_type ||
    ' UserId: ' || message.get_userid ||
    ' AppId: ' || message.get_appid ||
    ' GroupId: ' || message.get_groupid ||
    ' GroupSeq: ' || message.get_groupseq;
    insert into demo_data values ( s_demo_data_id.nextval,v_stuff);
    commit;
    end;
    -- ADD plsql SUBSCRIBERS AND REGISTER THE QUEUES
    prompt -- create subscriber
    declare
    o_agent sys.aq$_agent;
    begin
    o_agent:=new sys.aq$_agent
    (name => 'SUBSCRIBER1'
    ,address => null
    ,protocol=> null
    dbms_aqadm.add_subscriber
    (queue_name => 'jms_message_request'
    ,subscriber => o_agent
    ,rule => null
    end;
    declare
    t_reg_list sys.aq$_reg_info_list;
    o_reg_info sys.aq$_reg_info;
    begin
    -- note as this is a multi consumer q we need the name to be in the format schema.queue:consumer_name
    o_reg_info:=new sys.aq$_reg_info
    (name =>'demo.jms_message_request:subscriber1'
    ,namespace =>dbms_aq.namespace_aq -- ie AQ streams
    ,callback => 'plsql://demo.plsql_subscriber'
    ,context => hextoraw('FF')
    t_reg_list:=new sys.aq$_reg_info_list();
    t_reg_list.extend();
    t_reg_list(1):=o_reg_info;
    /* -- note this suffers from oracle bug : 'count' is a reserved word and use of such a keyword causes this error
    -- when using a procedure call in PL/SQL.
    -- This is resolved by the fix for Bug 3966513 which will be in 10g Release 2.
    -- see below for fix
    dbms_aq.register
    (reg_list => t_reg_list
    ,count => 1);
    dbms_aq.register(t_reg_list,1);
    commit;
    end;
    DECLARE
    id pls_integer;
    agent sys.aq$_agent;
    map_message sys.aq$_jms_map_message;
    message sys.aq$_jms_message;
    enqueue_options sys.dbms_aq.enqueue_options_t;
    message_properties sys.dbms_aq.message_properties_t;
    msgid raw(16);
    BEGIN
    agent:= new sys.aq$_agent
    (name=>'producer' -- name of the producer
    ,address=>null -- return address
    ,protocol=>0 -- 0 default
    -- Consturct a empty map message object
    map_message := sys.aq$_jms_map_message.construct;
    -- Shows how to set the JMS header
    map_message.set_replyto(agent);
    map_message.set_type('myType');
    map_message.set_userid('me');
    map_message.set_appid('plsql_enq');
    map_message.set_groupid('myGroup');
    map_message.set_groupseq(1); -- is this messing it up
    -- Shows how to set JMS user properties
    id := map_message.clear_body(-1);
    map_message.set_string(id, 'STRING', 'Hello World!');
    map_message.flush(id);
    sys.aq$_jms_map_message.clean_all();
    message := sys.aq$_jms_message.construct(map_msg=>map_message);
    dbms_aq.enqueue(
    queue_name => 'jms_message_request',
    enqueue_options => enqueue_options,
    message_properties => message_properties,
    payload => message,
    msgid => msgid);
    commit;
    end;
    /

    Update:
    If I go to network in the dashboard it DOES see the airport but will not let me connect. I keep getting "connection failed." I know I have the right password ect. but no idea why it will not let me join.
    Do I need to get the paperclip out and reset the airport???

Maybe you are looking for

  • Change Msg partner in support desk message

    Hi, I want to change the msg processor in support desk message from webdynpro. Which RFC Function module will be helpful ? Note : with the following function module we already tried , it is not changing msg processor in solution manager Sup dsk. crm_

  • How do i get the download window to remain open after closing firefox browser window

    i sometimes download a bunch of files all at ones then have to go back to review them. but i don't need the browser open to do this just the download window. in older versions the download window would remain open after i closed the browser but i don

  • Hi,I want  ABAP program to create an file of this data and to upload in app

    Hi Sir/Madam,            I want  ABAP program to create an file of this data and to upload in application server.this is urgent requirement.plz reply soon. i'll b thankful to u. Regards, Vishali

  • OCA book

    OCA: Oracle 10g Administration I Study Guide (1Z0-042) from Oracle press not Sybex please . Can anyone tell me where i can buy this book.Please provide links. Thanks!

  • N82 - Orientation sensor stuck in camera mode

    hi, i just recently bought a n82 (2 days ago), while testing the hardware for a few hours i took some pictures ofcourse and after a picture while the phone was sideways there was an error message which said 'unexpected error' for a very short time an