JMS properties in ALSB

Hello,
I've used ALSB 3.0. I created a proxy ans a business service that send JMS to a MQ queue, then i have a java application that listen the MQ to get the JMS. When i set one of the JMS properties in the test, i don't find this one when i'm listening with my java application. I've tested that with another java application that set and send a JMS. It works. So the problem is coming from ALSB, i don't know how to set a JMS propertie.
Thank for your help.

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

Similar Messages

  • JMS Header: JMS Properties and Message Selector

    Hi all
    I´m using a JMS Adapter to consume messages from a JMS queue (a JMS adapter which create the BPEL instance when a message arrives).
    The process must select messages which meet certain criterias, so I´m using Message Selector to filter the messages and only pick up the ones who interest me (If click on the "help" button on JDeveloper Wizard in the page you define Message Selector, you can see an example on how doing this).
    So how can I select messages using values placed on JMS Properties, in the Message Selector?
    For example, I set in the JMS Header:
    JMSInboundHeadersAndProperties
    --------JMSInboundProperties
    ----------------Property
    -----------------------name = 'Country'
    -----------------------value = 'Brazil'
    The JMSAdapter must consume only messages that "Country" = "Brazil".
    Thanks in advance.
    Menezes

    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.

  • JMS Receiver Adapter, using JMS Properties

    Hello,
    with XI SP14 i should be able to set JMS Properties using Adapter Specific Message Attributes DCJMSStringProperty1 and DCJMSStringProperty2. I set the Elements DCJMSStringProperty(1,2) during java mapping and everything works fine. i can see the "DynamicConfiguration" in the Message monitoring appearing with the correct values.
    In the configuration of the adapter specific attributes i give the message properties names and hope the adapter will pass the the values to the jms (IBM MQ implementation) but in jms no properties appear.
    has anybody a hint for me, has anybody faces similar issues.
    best regards,
    roland

    Hi Prasad
    You can use a simple user defined function. The question is, to which destination element should the function be connected to? I tried to connect to the root element of the destination structure (as dummy) and it worked.
    I prefer JAVA Mapping it's more transparent and reusable.
    Btw. My original problem remains still unsolved. Our IBM MQ still cannt see the JMS Properties.I contacted SAP for this matter, I will provide you with the solution when there is any.
    Greetings
    Roland
    Message was edited by: Roland Stellmach

  • Message Queue 4.4 doesn't know "jms.properties" ?

    Sun JMS Tutorial illustrates using a properties file to supply context properties. You define a System property "jms.properties" to point to the location of the properties file:
    java -Djms.properties=%J2EE_HOME%\config\jms_client.propertiesInside of said file is the properties in question (these are a surmise; the contents are nowhere documented).
    java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
    java.naming.provider.url=file:///C:/TempThen a call to InitialContext() will succeed.
    But the Tutorial assumes you're running under J2EE, and I'm not. I'm using the stand-alone Message Queue 4.4. If I define the properties on the command line,
    java -Djava.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory -Djava.naming.provider.url=file:///C:/Tempthen InitialContext() succeeds.
    If I explicitly dump the contents of the file into System.properties,
           String
           prop = System.getProperty( "jms.properties" );
           Properties props = System.getProperties();
           try  {
               java.io.File pf = new java.io.File( prop );
               props.load( new java.io.FileInputStream(pf) );
           catch( Exception ex )  { ex.printStackTrace(); }Then they get defined and InitialContext() tries to use them. But if I don't then they never get defined. Obviously the Tutorial expects that someone will do that, but who? AFAIK, both environments use the same naming library.
    Has the behavior of MQ changed since version 1.3 of the tutorial? Or is J2EE doing something that the standalone product doesn't?

    This is all about JNDI configuration. Before you can look up an object in a JNDI repository you need to tell the JNDI runtime which JNDI provider to use. This means you need to set the system properties java.naming.factory.initial and java.naming.provider.url to specify which JNDI provider to use and where the data is located. There's a bit about this in the JNDI tutorial [http://java.sun.com/products/jndi/tutorial/basics/prepare/initial.html|http://java.sun.com/products/jndi/tutorial/basics/prepare/initial.html] .
    The tutorial you are running uses the simple file-based JNDI provider known as "fscontext" and included in fscontext.jar.
    That tutorial seems to be reading the jms.properties property and importing its contents, though I can't see where that is supposed to happen and so am not surprised it doesn't work. jms.properties is not, as far as I can see, a standard property name.
    The MQ 4.4 documentation describes how to configure an InitialContext to use fscontext by configuring those properties directly. This would definitely work!
    [http://docs.sun.com/app/docs/doc/821-0029/aeqbb?a=view|http://docs.sun.com/app/docs/doc/821-0029/aeqbb?a=view]
    Note that your JNDI datastore (which you've defined to be in C:\Temp) will start off empty, so any lookups will fail unless you've inserted connection factories or destinations in there yourself. I see that is covered elsewhere in the JMS tutorial you were following. There's also a simple MQ GUI tool that can do this. [http://docs.sun.com/app/docs/doc/821-0027/aeoaz?a=view|http://docs.sun.com/app/docs/doc/821-0027/aeoaz?a=view]
    Finally, if you're simply trying to learn about JMS and MQ you can skip the use of JNDI completely and simply instantiate the underlying connection factories explicitly. This wouldn't be appropriate in a production environment (where it is recommended to store such objects in a central store) but for developmeht purposes would work just fine.
    Nigel
    http://docs.sun.com/app/docs/doc/821-0029/aeqbb?a=view

  • Proxy-2-JMS Scenario: more than 10 additional JMS properties possible

    Hi @all,
    we're implementing a Proxy-2-JMS-Scenario. The JMS reciever side needs unfortunalety more than 10 additional JMS properties. In XI/PI the maximum number of additional JMS properties is 10.
    Do somebody know a good workaround in PI how to deal with it?
    Thanks and best regards,
    Stefan

    Hi @all,
    there is no way to handle with more than 10 additional jms properties for jms header.
    Best Greetings,
    Stefan

  • EbXML Header Properties to JMS properties

    Hi,
    We are using the ebXML protocol(ebMS) and using JMS integration to set up the Internal Delivery Channel. We are not using Oracle AQ instead using BEA JMS.
    For inbound messages, we noticed that when the ebXML message gets enqueued on the JMS Queue but we dont get all the ebXML header properties in the JMS properties of the message. Looks like only those properties which are needed by Oracle B2B are coming into the JMS properties.
    In our current architecture, we will be needing some more of the ebxml headers (like Conversation Id, From Role, To Role, Receiver Routing Id,Sender Routing Id, Service etc).
    Similarly for the Outbound messages, some of the JMS properties that is being set by the mid tier layer which enqueues the message on the Queue is being overridden by Oracle B2B. Looks like the message id is being overwritten and also this mid tier layer explicitly sets the conversation id, To Role, Receiver Routing Id, Sender Routing Id and Ref To Msg Id etc.
    We are looking at these details as we will need to migrate to Oracle B2B without much impact on the other mid tier components.
    Please give your thoughts.
    Thanks
    Kavitha

    Hi Sinkar, Nandagopal,
    The following is the message we are trying to send:
    <mes:message transport="async" acknowledgeRequired="true"
    xsi:schemaLocation="http://www.bt.com/btgs/solutions/message ../../Schemas/messageV3.01.xsd"
    xmlns:mes="http://www.bt.com/btgs/solutions/message"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <mes:messageSequenceID>1166429678cRY</mes:messageSequenceID>
         <mes:messageType>incident</mes:messageType>
         <mes:messageAction>event</mes:messageAction>
         <mes:messageDateTime>2006-12-18T08:14:40.005Z</mes:messageDateTime>
         <mes:routingDataItem>
              <mes:param>source</mes:param>
              <mes:value>Expedio IM</mes:value>
              <mes:param>destination</mes:param>
              <mes:value>TP BT MOM Bridge</mes:value>
         </mes:routingDataItem>
         <mes:payload>
              <inc:incident xmlns:inc="http://www.bt.com/btgs/solutions/message/incident"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" majorVersion="1" minorVersion="1"
              xsi:schemaLocation="http://www.bt.com/btgs/solutions/message/incident ../../Schemas/IncidentV1.01.xsd">
                   <inc:sourceSystem type="Remedy" name="Expedio IM"/>
                   <inc:targetSystem type="TP" name="TP BT MOM Bridge"/>
                   <inc:incidentHeader supplierTicketRef="XF02958950" customerTicketRef="NA" masterTicketRef="unknown" supplierTicketCreateDate="2006-12-18T07:00:55.000Z">
                   <inc:customerDetails contactNumber="609-252-6596" customerContact="Jo Bloggs" customerContract="ABC123" customerID="23558" customerName="ENCO"/>
                   <inc:incidentContact>          
                        <inc:role>Prime Contact </inc:role>          
                        <inc:firstName>GCS Helpdesk </inc:firstName>          
                        <inc:lastName>GCS Helpdesk </inc:lastName>          
                        <inc:telephone>0800 282820 </inc:telephone>          
                   </inc:incidentContact>          
                        <inc:product xsi:type="inc:CPEproductType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                             <inc:elementID>3212435</inc:elementID>
                             <inc:productID>67</inc:productID>
                             <inc:productType>Routers</inc:productType>
                             <inc:productName>Cisco 7204</inc:productName>
                             <inc:productDescription >Unknown</inc:productDescription>
                             <inc:aEndSite>
                                  <inc:siteName>RUSSIA:MOSCOW;17; BUILDING 1;KRYLATSKAYA STREET;121614</inc:siteName>
                                  <inc:siteReference>TMPRUS-01</inc:siteReference>
                                  <inc:siteID>390075</inc:siteID>
                                  <inc:city>MOSCOW</inc:city>
                                  <inc:country>RUSSIAN FEDERATION</inc:country>
                                  <inc:postcode>121614</inc:postcode>
                                  <inc:location>
                                       <inc:subPremise>BUILDING</inc:subPremise>
                                  </inc:location>
                             </inc:aEndSite>
                             <inc:hostname>INB_RU_MOS01_RTR_01</inc:hostname>
                             <inc:serialNumber>74223995</inc:serialNumber>
                        </inc:product>
                        <inc:incidentTitle>Network Unreachable</inc:incidentTitle>
                   </inc:incidentHeader>
                   <inc:incidentBody>
                        <inc:incidentAction incidentAction="attribute change" incidentType="fault"/>
                        <inc:incidentPriority>2</inc:incidentPriority>
                        <inc:incidentSeverity>2</inc:incidentSeverity>
                        <inc:incidentStatus>in-progress</inc:incidentStatus>
                        <inc:logNotes>
                             <inc:noteLine timestamp="2006-12-18T08:14:38.000Z" author="macenadf">INITIAL VALUES:Element reported is INB_RU_MOS01_RTR_01 at RUSSIA:MOSCOW;17; BUILDING 1;KRYLATSKAYA STREET;121614.Assigned to Douglas Macena.Status set to WORK IN PROGRESS.Severity set to 2.Ticket submitted at 18/12/2006 07:00:55.</inc:noteLine>
                        </inc:logNotes>
                   </inc:incidentBody>
              </inc:incident>
         </mes:payload>
    </mes:message>
    Do the header properties have to be modified here?
    Further no other details were obtained in the B2B opmn server logs besides Start and Stop OPMN
    Is there a stub we can run from WLI that can put a message on the JMS, that can be read by B2B?
    With Thanks & Regards,
    Suhas.

  • How to read JMS properties in BPEL

    I have a BPEL receiving from a JMS Adapter. I want to read JMS properties set in the message in BPEL which is to be used later in the process. Is it possible ?
    Any help is appreciated.

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

  • JMS properties supported in the JMS Service?

    Hello,
    We are trying to send some JMS properties using the JMS Service and are not having any luck. Specifically, we need to set a JMSType...it appeared that customHeaders in the JMSMessageType (jms.xsd) should facilitate this, however, the properties we send in the name/value pair part of the customHeader in the jmsMessage is not getting through to the recieving side (neither a bpel jms listener nor a pojo listener). This suggests that perhaps this is not supported in the current version??
    Or am I doing something wrong?
    Thanks for the help.
    Cheers,
    Dustin

    Nope, im using the inbuilt JMS queues that come coupled with the deveopler install of the process manager... I can see the header variables when i dont try to use correlation but when i correlate them the header variables on the receive are empty!
    I've also had a bash at trying to get native correlation to work with the JMS adapter but not having much (any!) luck... Any chance you have some resources for that?
    Cheers
    Ian

  • PasswordSync Configuration - JMS Properties Settings

    Hi,
    I am basically trying to install and configure the password Sync process on a Windows 2000 Domain controller to interact with Sun IdM 6.0.
    I had installed the .NET 1.1 framework required for a Windows 2000 Domain Controller and PasswdSync. Now when I am trying to configure the PasswordSync, I am not sure what values should be entered against the "java.naming.factory.initial" and "java.naming.provider.url" properties under the JMS Properties tab of the PasswordSync configuration wizard. Also, I would appreciate if any one of you could throw some light on JMS Settings as well. I have set-up the JMS server and created a connection factory required before trying to configure.
    Thanks,
    Indie.

    Hi,
    I put tcpmon proxy between windows pwsync and IDM to determine if the password update
    was being sent and got the following:
    ==============
    Listen Port: 8080
    Target Host: 170.1.1.5
    Target Port: 8080
    ==== Request ====
    POST /idm/servlet/rpcrouter2 HTTP/1.0
    Accept: text/*
    SOAPAction: "urn:lighthouse"
    Content-Type: text/xml; charset=utf-8
    User-Agent: VCSoapClient
    Host: 170.1.1.5:8080
    Content-Length: 1165
    Connection: Keep-Alive
    Pragma: no-cache
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:
    //www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soap:Body soap:encodingStyle="http://schemas.xmlsoap
    .org/soap/encoding/"><snp:queuePasswordUpdate xmlns:snp="urn:lighthouse"><userEmailAddress>[email protected]</userEmailAddress><resourc
    eAccountId>CN=Gabriela Castro,CN=Users,DC=domain,DC=net</resourceAccountId><resourceAccountGUID>889e54e67501944ab573934e4b2724d6</resourceA
    ccountGUID><password>fr6j+8qxoHOqarRvYS8Flg==</password><accounts xsi:nil="1"/><resourcename xsi:nil="1"/><resourcetype>Windows Active Direc
    tory</resourcetype><clientEndpoint>AFISERV23P</clientEndpoint><jmsUser>guest</jmsUser><jmsPassword>guest</jmsPassword><queueName>destQueue
    </queueName><connectionFactory>destFactory</connectionFactory><sessionType>LOCAL</sessionType><JNDIProperties>java.naming.factory.initial=
    com.sun.jndi.fscontext.RefFSContextFactory;java.naming.provider.url=file:///C:imq</JNDIProperties><singleResult>true</singleResult></snp:que
    uePasswordUpdate></soap:Body></soap:Envelope>==== Response ====
    HTTP/1.1 200 OK
    X-Powered-By: Servlet/2.4
    Content-Type: text/xml;charset=UTF-8
    Date: Tue, 20 Nov 2007 22:23:05 GMT
    Server: Sun-Java-System/Application-Server
    Connection: close
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope
      xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
      xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'
      xmlns:xsd='http://www.w3.org/1999/XMLSchema'>
    <SOAP-ENV:Body>
      <ns1:queuePasswordUpdateResponse
        xmlns:ns1='urn:lighthouse'
        SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
          <return xsi:type='xsd:string'>noIDMSessionRequired|ok|</return>
      </ns1:queuePasswordUpdateResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    ==============from which I saw that java.naming.provider.url specifies a windows path and not a unix path, and since
    IDM is installed in UNIX (the servlet which is invoked by pwsync) this is what was failing, I changed it to the actual unix path where the .bindings file
    is and it worked.
    I can�t recall what I read in the documentation but it is not clear the value that this parameter must have,
    it specifies what the parameter is but when using both unix and windows environments it gets confusing, at least for me,
    but anyway, it works now.

  • Setting JMS Properties

    Can any one point to an example of setting JMS Properties (feature available since SP14). Appreciate help from to get double reward points....
    Prasad

    Hi,
    This should help..
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm:Configuring SenderJMS adapter
    http://help.sap.com/saphelp_nw70/helpdata/en/e8/01683c43e87845e10000000a11402f/content.htm:Configuring Reciever JMS adapter
    This should also help with dynamic configuration for JMS adapter
    Dynamic Configuration JMS
    Hope that helps
    Regards
    Ravi Raman

  • Recieve/Read  Messages  from JMS Queue through ALSB

    Hi,
    I have configured JMS Queue in weblogic server.
    I have created Messaging Service in ALSB which sends messages in MESSAGE QUEUE.
    Now Is it possinle to receive messages from JMS Queue by creating business service in Aqualogic Service bus???

    Hi dear,
    <br>
    I am sending Message through Serializable Object.
    <br>
    I have JMS Proxy which gets invoked when i send message to JMs Queue. JMS Proxy then calls business service.
    <br>
    <br>
    Business Service has two functions. One is taking String as input and one is taking Serializable Object as Input.
    <br>
    <br>
    public void recieveString(String str)<br>
    public void recieveObject(Trade obj)<br>
    --------------------------------------------------<br>
    Now I have configured Proxy Services' Request and Response
    Message Type as a "TEXT". and I am sending ObjectMessage here so what kind of change I require.
    <BR>
    I also want to configure my proxy so that if JMS queue recieves TextMessage then it should invoke reciveString() function and if Object Message then vice versa.....
    <BR><BR>
    But i am not able to handle object even...
    When I am sending Object Message it takes as a TextMessage.
    I am getting following exception when I am sending Object Message to JMS QUEUE. Request and Response Message types are XML Schema of that object.
    <BR>
    <BR>
    <Nov 30, 2006 4:57:19 PM IST> <Warning> <EJB> <BEA-010065>
    <BR>
    <MessageDrivenBean threw an Exception in onMessage(). The exception was: java.lang.AssertionError.<BR>
    java.lang.AssertionError at com.bea.wli.sb.transports.jms.JmsInboundMDB.onMessage(JmsInboundMDB.j
    ava:112)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:42
    9)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
    istener.java:335)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
    291)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
    Truncated. see log file for complete stacktrace
    >
    Message was edited by:
    alwaysvaghu

  • JMS Properties in JNDI Directory

    We are starting to use Message-Driven-Beans within our WLS 8 environment. My responsibility
    is for WebSphere MQ and JMS. Currently our JMS usage has been such that that the
    connection_factory information is stored in a central LDAP directory and administered
    by the WebSphere MQ team. The queue objects are administered by the application
    teams and kept locally. We would like to keep this concept also when using MDBs
    in WLS. Looking at the configuration I cannot see how I could define two seperate
    JNDI (initial_context) references - one for the queue object and a different one
    for the connection_factory.
    Any ideas?
    Thanks in advance,
    Martin
    PS: Using MQ as transport for JMS is mandatory!

    If your program is in an executeable jar file then add the following in the manifest
    class-path: junk.jar
    junk.jar has
    pjb/props/myconfig.properties file
    To access the properties in junk from your executable jar file in your class, do the following
    Locale eng = Locale.ENGLISH;
    String myvalue  = java.util.ResourceBundle.getBundle("pjb.props.myconfig",eng).getString("greeting");That should work
    Or if you not using an executable jar file just set your CLASSPATH to the directory where that junk.jar is.
    java -cp c:\myjavalib\stash\                 <-----Assmuing junk.jar is in thereJava dynamically reads jar files.

  • JMS properties

    I am writing a simple JMSSender and receiver using queues. I understand there are some properties that need to be set in the Context.
    JMS Sender:
    public class SimpleQueueSender {
         * Main method.
         * @param args     the queue used by the example and,
         *                 optionally, the number of messages to send
        public static void main(String[] args) {
            String                  queueName = null;
            Context                 jndiContext = null;
            QueueConnectionFactory  queueConnectionFactory = null;
            QueueConnection         queueConnection = null;
            QueueSession            queueSession = null;
            Queue                   queue = null;
            QueueSender             queueSender = null;
            TextMessage             message = null;
            final int               NUM_MSGS;
            if ( (args.length < 1) || (args.length > 2) ) {
                System.out.println("Usage: java SimpleQueueSender " +
                    "<queue-name> [<number-of-messages>]");
                System.exit(1);
            queueName = new String(args[0]);
            System.out.println("Queue name is " + queueName);
            if (args.length == 2){
                NUM_MSGS = (new Integer(args[1])).intValue();
            } else {
                NUM_MSGS = 1;
             * Create a JNDI API InitialContext object if none exists
             * yet.
            try {
                jndiContext = new InitialContext();
              Hashtable hashTable = jndiContext.getEnvironment();
              //System.out.println(hashTable.toString());
            } catch (NamingException e) {
                System.out.println("Could not create JNDI API " +
                    "context: " + e.toString());
                System.exit(1);
             * Look up connection factory and queue.  If either does
             * not exist, exit.
           int j=0;
            try {
                    queue = (Queue)jndiContext.lookup(queueName);
                  j=1;
                  queueConnectionFactory = (QueueConnectionFactory)jndiContext.lookup("jms/QueueConnectionFactory");
            } catch (NamingException e) {
                System.out.println("JNDI API lookup failed: **" + j +"**" +
                    e.toString());
                System.exit(1);
             * Create connection.
             * Create session from connection; false means session is
             * not transacted.
             * Create sender and text message.
             * Send messages, varying text slightly.
             * Send end-of-messages message.
             * Finally, close connection.
            try {
                queueConnection =
                    queueConnectionFactory.createQueueConnection();
                queueSession =
                    queueConnection.createQueueSession(false,
                        Session.AUTO_ACKNOWLEDGE);
                queueSender = queueSession.createSender(queue);
                message = queueSession.createTextMessage();
                for (int i = 0; i < NUM_MSGS; i++) {
                    message.setText("This is message " + (i + 1));
                    System.out.println("Sending message: " +
                        message.getText());
                    queueSender.send(message);
                 * Send a non-text control message indicating end of
                 * messages.
                queueSender.send(queueSession.createMessage());
            } catch (JMSException e) {
                System.out.println("Exception occurred: " +
                    e.toString());
            } finally {
                if (queueConnection != null) {
                    try {
                        queueConnection.close();
                    } catch (JMSException e) {}
    }Could not create JNDI API context: javax.naming.NoInitialContextException: Need
    to specify class name in environment or system property, or as an applet paramet
    er, or in an application resource file: java.naming.factory.initial
    What are the properties I need to set? And how do I set these properties? I am using a OC4J j2ee container.
    TIA
    Prabhu

    Prabhu,
    you need tos set the environment properties depends on what server/middle were you are using.
    connection factory and url are the mandate and security credentials are optional.
    exp: for weblogic
    Properties env = new Properties( );
    env.put(Context.SECURITY_PRINCIPAL, "guest");
    env.put(Context.SECURITY_CREDENTIALS, "guest");
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL,
    t3://localhost:7001");
    and for Sonic with Ldap
    Properties env = new Properties( );
    env.put(Context.SECURITY_PRINCIPAL, "guest");
    env.put(Context.SECURITY_CREDENTIALS, "guest");
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL,
    "ldap://localhost:389/o=acme.com");
    InitialContext jndi = new InitialContext(env);
    Thanks
    Sasidhar

  • Deployment JMS Properties not handled.

    Hi.
    Apologies if this is something wrong on my part - it could very well be.
    I have been trying to implement the jms queue properties, as detailed here:
    [http://help.sap.com/saphelp_nwce10/helpdata/en/46/b10fcade5c0763e10000000a1553f6/frameset.htm]
    I have a simple ejb module to receive a message and rollback immediately in order to test this.
    Upon deployment, the deliveryAttemptsLimited and maxDeliveryAttempts are implemented and perform as the document states.
    [http://help.sap.com/saphelp_nwce10/helpdata/en/46/3156399f1214dfe10000000a155369/frameset.htm]
    However, the deliveryDelayInterval and errorDestination properties seem to be ignored.
    With the following jms-resources.xml, a message placed on the queue is processed twice (remember the ejb module just rolls back), and then disappears, and does not use any kind of delay before retrying and does not use the errorQueue specified.
    Here is the jms-resources.xml.
    <?xml version="1.0" encoding="UTF-8"?>
    <jms-resources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="jms-resources.xsd">
       <application-name>dts-jms</application-name>
        <connection-factory>
          <name>MortyQueueFactoryTest</name>
          <sap-local-factory-type>
             <type>javax.jms.XAQueueConnectionFactory</type>
             <virtual-provider>default</virtual-provider>
             <property>
                <description>Client ID</description>
                <config-property-name>clientID</config-property-name>
                <config-property-value>
                   myClientApp
                </config-property-value>
             </property>
          </sap-local-factory-type>
       </connection-factory>
         <destination>
          <name>MortyQueueTest</name>
          <type>javax.jms.Queue</type>
          <sap-local-destination-type>
             <virtual-provider>default</virtual-provider>
             <property><config-property-name>deliveryAttemptsLimited</config-property-name><config-property-value>True</config-property-value></property>          
               <property><config-property-name>maxDeliveryAttempts</config-property-name><config-property-value>2</config-property-value></property>
               <property><config-property-name>deliveryDelayInterval</config-property-name><config-property-value>60000</config-property-value></property>
               <property><config-property-name>errorDestination</config-property-name><config-property-value>MortyErrorDestinationTest</config-property-value></property>
          </sap-local-destination-type>
       </destination>
       <destination>
          <name>MortyErrorDestinationTest</name>
          <type>javax.jms.Queue</type>
          <sap-local-destination-type>
             <virtual-provider>default</virtual-provider>
          </sap-local-destination-type>
       </destination>
    </jms-resources>
    I just cannot see what is wrong with the file.
    Any pointers?  Im more than happy to be completely wrong here...
    Does it require a restart of the application server?
    Regards,
    Andrew

    Hi Andrew,
    Try to change the type of the connection factory from javax.jms.XAQueueConnectionFactory to javax.jms.QueueConnectionFactory. Tell me if it is still not working properly.
    Best regards,
    Ekaterina

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

Maybe you are looking for

  • In CM01 selection screen, what is the meaning of "Operator"

    Hello, (1) In CM01 selection screen, there are 3 fields with column heading "Operator". There is no documentation available for those fields. Can someone help me understand what is the meaning and use of those 3 fields. Thanks. (2) We are in the proc

  • Can't open quicktime movie that I exported from FCP 5. Help!

    Can't open quicktime movie that I exported from FCP 5. Help!

  • Optmizing use of function in a query

    select a1.*, test_pkg.test_function(section_id) record_id from ( select project_id, student_id, max(se.section_id) section_id from college c, students s, sections se, zone z where c.college_id in (121, 123, 124) and s.student_id = c.student_id and s.

  • Curve 8520: app error 200

    I have a 8520. I tried deleting an app using the bb desktop software. At the end of the task I got the message "can't connect with the device". The device keeps saying "app error 200". What do I do?

  • Graph Chart settings

    Dear people, I have a chart in my code, I need to set beginning time externally ( I read it from a sting ). I need to set the first Chart Plotting point to this time , The samples/sec is also read from a txt file and has to be set extra. When code fi