SAP WAS JMS Provider

Hi,
Has anyone ever tried to use SAP WAS JMS Provider to connect with another JMS Provider like WMQ? I am looking for information from reliability perspective.
I have seen a blog on SDN on this subject but there aren't any productive uses of JMS provider by SAP. [JMS Provider|http://wiki.sdn.sap.com/wiki/display/JSTSG/%28JSTSG%29%28JMS%29FAQ-JMSProvider] has further information on what is offered.
Regards

No answer so closing the thread

Similar Messages

  • SAP WAS JMS ID and MQ JMS ID is incompatiable

    Our scenario is to connect SAP WAS JMS Provider to MQ Series.
    But the problem we are facing is the JMS Message ID is incomapatiable with the MQ JMS ID.
    I am getting the error
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Unable to set message properties for message  JMSMessage class: jms_text  JMSType:          null  JMSDeliveryMode:  2  JMSExpiration:    0  JMSPriority:      4  JMSMessageID:     null  JMSTimestamp:     0  JMSCorrelationID: null  JMSDestination:   null  JMSReplyTo:       null  JMSRedelivered:   false com.ibm.msg.client.jms.DetailedJMSException: JMSCMQ1044: String is not a valid hexadecimal number - '122B3E1E683C8DE8-00000000001B'.
    Please let me know if you have faced similar issues

    Hello
    See http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.javadoc.doc/WMQJMSClasses/errorcodes.html for more details on this JMSCMQ1044 error.
    Have you configured the correlation? See [Configuring the Receiver JMS Adapter|http://help.sap.com/saphelp_nwpi71/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm].  
    Regards
    Mark

  • Connect from Weblogic JMS queue to SAP WAS JMS queue

    Hi,
    I am trying to setup a WLS 8.1 messaging bridge between a weblogic JMS queue and a SAP WAS JMS queue. I have configured a queue on both Weblogic and SAP WAS and I have set up the messaging bridge and bridge destintations in weblogic. However when weblogic tries to get the SAP initial context factory it fails with the error below.
    I have added the SAP Client jars to the weblogic system classpath, and in the weblogic startup script but it still fails. Has anyone connected from an external JMS queue to a SAP WAS JMS queue that could provide me with some guidence?
    <10/08/2006 08:23:45 AM WST> <Warning> <Connector> <BEA-190032> << Weblogic Mess
    aging Bridge Adapter (XA)_eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocatio
    nException of javax.resource.ResourceException: ConnectionFactory: failed to get
    initial context (InitialContextFactory =com.sap.engine.services.jndi.InitialCon
    textFactoryImpl, url = ux0800:55304, user name = username) on createManagedConnectio
    n.>
    Thanks
    Warren

    Stoyan,
    Thanks for that.
    My problem ended up being a classpath problem. I referenced the directory of the SAP jars in the weblogic start up script. When I changed this to reference each jar individually it worked.
    I have a new issue now which may have something to do with security. The trace suggests it is logging on as the guest user, even though I entered my username and password in the Messaging bridge.
    #1.5#000E7FED310600A30000008A0000302D00041AA399E338B4#1155189870559#com.sap.jms##com.sap.jms.server.sessioncontainer.InboundBus instance=BWIP#J2EE_GUEST#0####165536f0283611db8903000e7fed3106#SAPEngine_Application_Thread[impl:3]_126##0#0#Error##Plain###com.sap.jms.server.exception.JMSServerInvalidDestinationException: No destination with ID=0 found.
            at com.sap.jms.server.service.impl.RegistryServiceImpl.getDestinationContext(RegistryServiceImpl.java:404)
            at com.sap.jms.server.sessioncontainer.InboundBus.getDestinationContext(InboundBus.java:98)
            at com.sap.jms.server.sessioncontainer.InboundBus.process(InboundBus.java:153)
            at com.sap.jms.server.sessioncontainer.InboundBus.enqueue(InboundBus.java:116)
            at com.sap.jms.server.sessioncontainer.SessionContainer.receiveFromDispatcher(SessionContainer.java:63)
            at com.sap.jms.server.routingcontainer.RoutingContainer.receiveFromDispatcher(RoutingContainer.java:447)
            at com.sap.jms.server.JMSServerContainer.dispatchRequest(JMSServerContainer.java:635)
            at com.sap.jms.server.JMSServerFrame.request(JMSServerFrame.java:536)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Warren

  • Setting up JMS in a clustered SAP WAS 6.40

    Hello all,
    We are trying to start our app in the clustered SAP WAS 6.30 Patch Level 77737.313 and application start fails with a JMS Error:
    Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.jmsconnector.exceptions.BaseDeploymentException: JMS error.
         at com.sap.engine.services.jmsconnector.deploy.ContainerImpl.loadDestination(ContainerImpl.java:1874)
         at com.sap.engine.services.jmsconnector.deploy.ContainerImpl.prepareStart(ContainerImpl.java:717)
         at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:347)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:309)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:308)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.run(ParallelAdapter.java:73)
         at com.sap.engine.frame.core.thread.Task.run(Task.java:60)
         at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:72)
         at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:126)
    Caused by: javax.jms.JMSException: ConnectionFactory with name com.ttt.jms.TTTTopicFactory does not exist.
    Same app starts up fine in a non-clustered environment.
    The JMS error says that application can't find the specified JMS Factory name. So it can be an issue with JNDI replication.
    The jms deployment descriptors we are using are:
    <jms-factories>
         <connection-factory>
              <connection-factory-type>QueueConnectionFactory</connection-factory-type>
              <factory-name>com.ttt.jms.TTTQueueFactory</factory-name>
              <context-factory-type>
                   <link-factory-name>jmsfactory/TTT/com.ttt.jms.TTTQueueFactory</link-factory-name>
                       <initial-context-factory>com.sap.engine.services.jndi.InitialContextFactoryImpl</initial-context-factory>
              </context-factory-type>
         </connection-factory>
         <connection-factory>
              <connection-factory-type>QueueConnectionFactory</connection-factory-type>
              <factory-name>com.ttt.jms.enterprise.TTTQueueFactory</factory-name>
              <context-factory-type>
                   <link-factory-name>jmsfactory/TTT/com.ttt.jms.enterprise.TTTQueueFactory</link-factory-name>
                       <initial-context-factory>com.sap.engine.services.jndi.InitialContextFactoryImpl</initial-context-factory>
              </context-factory-type>
         </connection-factory>
         <connection-factory>
              <connection-factory-type>TopicConnectionFactory</connection-factory-type>
              <factory-name>com.ttt.jms.TTTTopicFactory</factory-name>
              <context-factory-type>
                   <link-factory-name>jmsfactory/TTT/com.ttt.jms.TTTTopicFactory</link-factory-name>
                       <initial-context-factory>com.sap.engine.services.jndi.InitialContextFactoryImpl</initial-context-factory>
              </context-factory-type>
         </connection-factory>
    </jms-factories>
    <jms-destinations>
         <destination>
              <connection-factory>com.ttt.jms.TTTTopicFactory</connection-factory>
              <destination-name>com.ttt.jms.Topic1</destination-name>
         </destination>
         <destination>
              <connection-factory>com.ttt.jms.TTTQueueFactory</connection-factory>
              <destination-name>com.ttt.jms.Queue1</destination-name>
         </destination>
         <destination>
              <connection-factory>com.ttt.jms.TTTQueueFactory</connection-factory>
              <destination-name>com.ttt.jms.Queue2</destination-name>
         </destination>
         <destination>
              <connection-factory>com.ttt.jms.enterprise.TTTQueueFactory</connection-factory>
              <destination-name>com.ttt.jms.enterprise.Queue1</destination-name>
         </destination>
         <destination>
              <connection-factory>com.ttt.jms.enterprise.TTTQueueFactory</connection-factory>
              <destination-name>com.ttt.jms.enterprise.Queue2</destination-name>
         </destination>
    </jms-destinations>
    JMS Provider is configured with JMS server TTT and corresponding 4 queue factories and 1 topic factory.
    If you can see anything wrong with this configuration, I would really appreciate your comments.
    Maybe there is something specific that must be configured for JMS in a clustered environment?
    Thanks.

    Yuri:
    there may be cluster Q , check once or you should change the values in all cluster servers locally .

  • JMS Sender SAP JMS Provide large message problem

    Hi,
    we have configured a JMS sender channel to pick up messages from a queue hosted by our SAP JMS provider. Unfortunately a message of about 6 MB size isn't picked up. Smaller messages are picked up.
    Has anybody experienced a problem like this before?
    Kind regards,
    Heiko

    Hey,
    I guess you are using XML messages:
    We had some problems with large XML messages (e.g more the 10MB),
    This is usally cause by memory problems.
    There are some work-around, like increasing the memory usage of the application server.
    The first thing you do is try to understand where the message stacked (in the ABAP/J2EE).
    If this is a memory problem, changing the memory configuration can improve this,
    but be aware that there are hardware limitation (32bit application server can use with one process only 2GB), therefore messages over 100MB probably will not pass trough XI.
    If you have huge files (e.g more than 100MB)
    You must develop a program that would split the large message into several small messages. the program can not be written in the XI, and should be written before the adapter. (you might install and use in this case the conversion agent)
    If you are using a message with csv format (not XML),
    than it is possible to configure the adapter to split every X lines
    (no program need to be written)

  • SAP JMS Provider client jar files

    Hi,
    We are attempting to use the JMS provider service on XI 3.0 SR1 as the messaging system.  What are the jar files that an external J2EE application need to access the SAP JMS provider?  Has anyone used the SAP JMS provider? I greatly appreciate if you can share your experience.
    thanks.
    James Chang

    Hello James,
    The performance for such big number of messages depends mainly on the message size. If you are sending just a TextMessage with short text, then the SAP JMS provider is able to handle 100 000 messages per hour. That value represents an average number of 30 messages per second that is covered.
    However, please have in mind two issues :
    The messages will be transferred through a TCP/IP connection, so make sure that your network bandwidth to the SAP J2EE server is able to handle such load without any delays. If the messages are persistent (default mode) they will be stored in the server database. That will be the main bottleneck for the message sending especially if the size of your message is big (>100K).
    I think it will be best if you create a small prototype on your environment and verify the number of messages that can be sent.
    Best Regards
    Peter Peshev

  • Does SAP WAS 6.40 has inbuilt JMS Server?

    Hi all,
    Does SAP WAS 6.40 has inbuilt JMS Server?if yes how to connect XI with that server?
    regards
    kish

    This would help u in understanding the basics,
    /people/kan.th/blog/2007/02/05/exploring-jms-and-sap-xi-jms-adaper
    For connection
    https://wwwn.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a05b2347-01e7-2910-ceac-c45577e574e0
    https://wwwn.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cfe5ad90-0201-0010-9b9a-a62db638759b
    Regards,
    Prateek

  • SAP XI JMS Adapter

    Gud Mrng , can any one provide me the information about JMS Adapter in SAP-XI,
    with screen shots.....Plz

    Hi,
    Please refer into this blog to use the J2EE WAS JMS Service of XI,
    /people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
    To connect XI to any other JMS adapters / service, you would need to install the driver of the JMS adapter on your XI server. Please look into this for the same,
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    Also, the SAP Library help on JMS adapters is quite good,
    http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    Regards
    Bhavesh

  • XI to IBM Websphere Default JMS Provider with JNDI

    Hello everybody!
    We face a problem with connecting SAP XI to IBM WebSphere Default JMS Provider (need to send a message from XI to WebSphere JMS and receive the response).
    We have the following versions installed:
        SAP XI: 7.0 SP8 , Sun JDK 1.4.2
        IBM WebSphere: IBM WebSphere Application Server ND, 6.0.2.17, J2RE 1.4.2 IBM
    We cannot set the JMS adapter of SAP XI for conecting with IBM WebSphere Default JMS Provider. The Communication Channel has erroneous state (at runtime) and the Communication Channel Monitoring tool displays the error message as described below (under "Variant 1" and "Variant 2" sub-headings) depending on the settings performed. 
    For connecting, the following JMS-provider settings were used at IBM WebSphere side:
       JMS Providers: Default Messaging Provider
       Queue Connection Factories: name:QueueConnectionFactory, jndi:jms/QueueConnectionFactory, provider: Default Messaging Provider
       Queues: name Queue, jndi: jms/Queue, provider: Default Messaging Provider
    The XI communication channel (and associated JMS-adapter) was set as Variants 1 and 2 show. Settings for both cases and received error messages were the following:
    <b>Variant 1.</b>
        Adapter type: JMS
        Type: Receiver
        JMS Provider: Access JMS Provider with JNDI (Java Naming and Directory Interface)
        JNDI Lookup Name of QueueConnectionFactory:  jms/QueueConnectionFactory
        JNDI Lookup Name of JMS Queue: jms/Queue
        Name of JNDI Initial Context Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl
        JNDI Server Address: iiop://WEBSPHERE.HOST:2809/ 
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state and the following error message is written:
        "Error during channel initialization; exception trace: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of jms/QueueConnectionFactory.
    at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)"
    <b>Variant 2</b>
        The same settings as in Variant 1 above, were used and additionally the following settings were done:
        - Name of JNDI Initial Context Factory: com.ibm.websphere.naming.WsnInitialContextFactory
        - The archive aii_af_jmsproviderlib.sda containing libraries required by WsInitialContextFactory, was deployed to the SAP WebAS where the XI is running. Those libraries were taken from WebSphere Application Server Pluggable Application Client installation package (described in the article "WebSphere Application Server Pluggable Application Client" located at http://www-128.ibm.com/developerworks/websphere/library/techarticles/0409_bhogal/0409_bhogal.html)
        - Also, as it is recommended in the referred article, the files required by IBM's iiop protocol (ibmext.jar ibmorb.jar ibmorbapi.jar) were put to the folder jre/lib/endorsed of the server(Sun JVM 1.4.2 is used by SAP WebAS / XI).
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state as well and the following error message is written:
       "No adapter registered for this channel"
    We have not found the recommended solution either in SDN forums or in Internet in general. Is it yet possible to connect SAP XI to IBM WebSphere Default JMS Provider having mentioned product versioning? If yes, what settings have to be performed?

    IBM Websphere Default JMS Provider which is installed alongwith the application server is nothing but a scaled down version of the IBM WebSphere MQSeries. you should be able to connect to it with the same settings that can be used for a separate MQSeries server connectivity from XI.

  • How to integrate Websphere MQ as an external JMS Provider?

    Hello to all!
    I'm trying to integrate Websphere MQ in SAP Web AS 6.40 as an external JMS provider and I'm having some problems. As the use of SAP XI is impossible for me, I started using the built-in JMS Connector.
    I've already read (and tried to follow) the documentation in http://help.sap.com/saphelp_nw04/helpdata/en/cd/4d4941abbb4c0de10000000a1550b0/frameset.htm, but unfortunately, it didn't help me that much.
    It told me that the JMS Connector is the right place to start, and I already managed to deploy and define the Websphere MQ JMS implementation as a library. And from various examples I'm quite sure that Websphere MQ is an JNDI based JMS provider. But now the problems start.
    According to the SAP library mentioned above, I have to enter the JNDI name to the ConnectionFactory in the "New ConnectionFactory" dialogue in the "Provider" tab. As an example there is the (existing) JNDI name "jmsfactory/default/TopicConnection". For doing the same with my Websphere MQ, I expect to need something alike.
    Hoping that I'm getting the SAP library right at this point, I'm expecting to need a JNDI entry, like, let's say, "jmsfactory/WebsphereMQ/QueueConnection" connected to the class "com.ibm.mq.jms.MQConnectionFactory" (MQConnectionFactory is the class in the MQ JMS implementation that implements the JMS interface "Connection Factory"). How can I put those Websphere MQ classes, that are implementing the JMS interfaces like Connection Factory, QueueConnectionFactory and so on
    in my JNDI tree? The point is, obviously, no JNDI entry was made during deploying Websphere MQ as a library.
    Or am I totally wrong an misunderstood the SAP library completely? Any help on this topic would be highly appreciated.
    Best greetings!
    Bärbel

    Integrating WebSphereMQ with SAP Web Application Server
    Prerequisites
    The native libraries of WebSphereMQ must be added to the environment variables of the host or hosts where the SAP Web AS is running. Typically, if MQ is installed on the same host, the required entries are added to the environment at installation. However, we recommend that you check the MQ documentation for details about the directory where the libraries are located, and make sure it is added to the environment on all hosts with SAP Web AS.
    For example, for Windows OS the following libraries are required:
    -     amqmtmgr.dll
    -     amqvwaa2.dll
    -     amqxcs2.dll
    -     amqxcsn.dll
    -     amqzc.dll
    -     amqzsai.dll
    -     amqzst.dll
    -     amqztm.dll
    -     mqjbdf02.dll
    -     mqjbnd05.dll
    -     mqm.dll
    -     mqmvxd.dll
    -     mqmxa.dll
    -     MQXAi02.dll
    Procedure
    1)     If the version of the SAP Web AS is SP 7 or lower, you must apply a patch for the JMS Connector Service. The required SDA is attached to this e-mail (jmsconnector.sda). To apply it:
    a.     Run the SDM Remote GUI tool. It is located in <SAP_install_dir>\SAPSID\<Instance_ID>\SDM\program.
    b.     In the Deployment tab, add the jmsconnector.sda to the deployment list. Choose   Show Deployment Configuration. Select Update deployed SDAs/SCAs that have any version (this ensures that you will have the SDA deployed even if for some reason its timestamp is older than the one of the SP7 SDA that you already have deployed.)
    c.     Deploy the SDA following the standard deployment procedure. If prompted to choose if you want to delegate the control to the SDM server, choose Yes. The SDM shuts down the cluster, deploys the SDA, and then restarts the cluster.
    2)     Create the IBM MQ library. You can do it using either Visual Administrator or SAP NetWeaver Developer Studio.
    a.     Visual Administrator:
    i.     Go to Services -> JMS Connector.
    ii.     Select JMS Libraries, and choose New.
    iii.     Enter a name for the library, such as MQJMSLIB.
    iv.     Browse to select the following JAR files:
    - com.ibm.mq.jar
    - com.ibm.mqbind.jar
    - com.ibm.mqjms.jar
    - fscontext.jar
    - ldap.jar
    - postcard.jar
    - provider.xml
    - providerutil.jar
    v.     Deploy the library.
    vi.     Go to Services -> Configuration Adapter. In the configuration tree on the right-hand side of the screen browse to cluster_data -> server -> cfg -> ext -> MQJMSLIB-provider.xml. Switch to edit mode using  . Open the XML for editing using  . Add the following entry (after the reference entry for jms):
    <reference type="library" strength="weak">j2eeca</reference>
    Choose OK and restart the cluster to apply the changes.
    b.     SAP NetWeaver Developer Studio:
    i.     Create a J2EE Library project.
    ii.     Select the project and choose File -> Import -> File System. Browse to the MQ folder, which contains the JAR files listed above, and select to import them.
    iii.     Extend the tree of your library project and open server/provider.xml. Go to the Jars tab.
    iv.     Select Jars, and choose Add. Choose to add the JAR files that you have imported in the previous step.
    v.     Go to the References tab. Select References, and choose Add. Choose Select library/interface/service. In the list select jms and j2eeca.
    vi.     Save and close provider.xml. From the context menu of the library project choose Build Library Archive.
    vii.     Select the SDA in the project tree, open its context menu, and choose Deploy to J2EE Engine.
    3)     Create a JMS Connector Factory in Visual Administrator.
    You can either enter the required values directly in the Visual Administrator (Services -> JMS Connector), or you can edit the following sample deployment descriptors and import them in Visual Administrator using  .
    a.     Using JNDI:
    This is example of factories.xml using JNDI based JMS provider.
    <?xml version="1.0" encoding="UTF-8" ?>
      <jms-factories>
        <application-name>
          IBM_Test_App
        </application-name>
        <connection-factory>
          <library-name>
            MQJMSLIB
          </library-name>
          <factory-name>
            IBM_Queue_Factory
          </factory-name>
          <context-factory-type>
    <!—This factory should already exist on WebSphereMQ.-->
            <link-factory-name>
              QCF_1
            </link-factory-name>
            <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
            </initial-context-factory>
            <provider-url>
              file:/C:/JNDI-Directory
            </provider-url>
            <security-principal>
            </security-principal>
            <security-credentials>
            </security-credentials>
          </context-factory-type>
        </connection-factory>
      </jms-factories>
    b.     Using object factory JMS provider
    <?xml version="1.0" encoding="UTF-8" ?>
      <jms-factories>
        <application-name>
          IBM_Test_App
        </application-name>
        <connection-factory>
          <library-name>
            MQJMSLIB
          </library-name>
          <factory-name>
            IBM_Queue_Factory
          </factory-name>
          <object-factory-type>
            <object-factory-name>
              com.ibm.mq.jms.MQXAQueueConnectionFactoryFactory
            </object-factory-name>
            <class-name>
              com.ibm.mq.jms.MQXAQueueConnectionFactory
            </class-name>
            <properties>
              <property>
                <property-name>
                  HOST
                </property-name>
    <!-- JMS Provider host name -->
                <property-value>
                  localhost
                </property-value>
              </property>
              <property>
                <property-name>
                  QMGR
                </property-name>
    <!-- Queue Manager -->
                <property-value>
                  MQ_default
                </property-value>
              </property>
              <property>
                <property-name>
                  PORT
                </property-name>
    <!-- JMS Provider port number -->
                <property-value>
                  1414               
                </property-value>
              </property>
              <property>
                <property-name>
                  TRAN
                </property-name>
    <!-- Transport type -->
                <property-value>
                  1                    
                </property-value>
              </property>
            </properties>
          </object-factory-type>
        </connection-factory>
      </jms-factories>
    4)     Use the connection factory in an application:
    Code:
    Context ctx = new InitialContext();
    Object ref = ctx.lookup("java:comp/env/IBM_Queue_Factory");
    QueueConnectionFactory f = (QueueConnectionFactory)ref;
    QueueConnection connection = f.createQueueConnection();
    Resource references:
                     <resource-ref>
              <res-ref-name>
                IBM_Queue_Factory
              </res-ref-name>
              <res-type>
                javax.jms.QueueConnectionFactory
              </res-type>
              <res-auth>
                Container
              </res-auth>
            </resource-ref>
    If you are using 6.40 SP7 or below let me know to send you a patch.
    Regards Nikola

  • JMS : Using SUN MQUEUE as a JMS Provider

    Hi guys,
    I'm having quite some trouble in configuring a JMS scenario...
    I'm using SUN MQueue as a JMS Provider. I've installed the respective drivers, imq.jar, fscontext.jar and jms.jar.
    I had no trouble in deploying this drivers on the SDM.
    Now, after creating a receiver JMS communication channel, I get the following error on the RWB:
    Error during channel initialization; exception trace: java.lang.NoSuchMethodException: com.sun.messaging.QueueConnectionFactory.(java.lang.String)
    at java.lang.Class.getConstructor0(Class.java:1937)
    at java.lang.Class.getConstructor(Class.java:1027)
    at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:474)
    I've searched XI logs, in order of getting some light on the subject...This was what I've got:
    #com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerHandler moduleHandler, Object para)#J2EE_GUEST#0####975a11b0c58b11dbce6700145e1855ec#SAPEngine_Application_Thread[impl:3]_19##0#0#Error##Java###Unable to create the QueueConnectionFactory due to #1#SUNMQUEUE_IP:SUNMQUEUE_Port#
    My question is what is #1#....
    I've read a few forum threads, but none of them can clarify my error....
    I've tried the same scenario using Business Connector...Of course, in BC I had to create 2 JAVA services, one for sending and another for receiving messages...there was no problem with this, I did managed to send JMS Messages to SUN MQUEUE...
    Can anyone give a hint....anything...?

    Hi,
    This is something related to JMS Adapter configuration settings and security ...
    please check .. all your settings..
    <i>This is the SonicMQ implementation of the QueueConnectionFactory.
    A JMS client, in this case the adapter, uses a QueueConnectionFactory object to generate QueueConnection objects of a JMS provider.
    The default value for SonicMQ 3.0 is progress.message.jclient.QueueConnectionFactory</i>
    See also..below links
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    Installation problem: Central Instance 6.40 Oracle on Linux 32
    Regards
    Chilla..

  • Using JBOSS JMS provider with XI

    Hi,
    I am connecting XI to a custom Java application developed on JBOSS app server.  The custom application is developed with connectivity using JMS.  I was told that JBOSS has a JMS provider used by the custom app.  Has anyone done this before?  Is it possible for XI to use JBOSS JMS provider?  How difficult is this going to be for synchronous interface?  Any information is greatly appreciated.
    thanks.
    James Chang

    hi,
    first deploy jboss-j2ee.jar,jms.jar,dom4j-full.jar..for deploying these jars into the xi follow this link
    http://help.sap.com/saphelp_nw04s/helpdata/en/33/e6fb40f17af66fe10000000a1550b0/frameset.htm
    then to make use of the JMS adapter follow this link,
    http://help.sap.com/saphelp_nw04s/helpdata/en/4d/a3bc97ff55c742af7faed661635baf/frameset.htm
    hope this will be useful.....
    regards,
    Sundararamaprasad

  • Help Needed in JMS Provider

    Hi,
       In a document for JMS Connector it is given as we need to register the JMSConnectionFactory using Non-JNDI Provider, if our JMS Provider does not provide a naming system.
    Does WebSphere MQ(non JMS) provides a naming system? If not should i register it using Non-JNDI procedure? When i register, its asking me to fill the Object Factory class and JMS Factory class? I am not able to find out the class implementing the javax.jms.QueueConnectionFactory and javax.naming.spi.objectFactory  interface.
    Please help me out.
    Regards
    Rahul

    Thanks Amol. Right now we are on SP9 and we are facing the error
          Error: javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for '<my_jms_host>:<my_jms_qm>'
    at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:434)
    at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:998)
    at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:707)
    at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:206)
    at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:76)
    at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:143)
    at com.sap.aii.messaging.adapter.ModuleTransport2JMS.init(ModuleTransport2JMS.java:343)
    at com.sap.aii.messaging.adapter.ModuleHandlerImpl.run(ModuleHandlerImpl.java:555)
    at java.lang.Thread.run(Thread.java:479)
    There is a OSS Note(749743) for this error. Its been specified as error occurs in SP5 and solution is we need to upgrade it. But we are facing it with SP9. Thats why i was trying to look into these parameters. If i upgrade it to SP15, will it be solved?

  • MDB behavior with Foreign JMS Provider

              I am experiencing some MDB behavior which I do not quite understand. I would appreciate
              if someone could tell me what might be happening.
              An application on WebLogic 8.1 SP1 (also tried it with SP2) has MDB's which listen
              on a MQ Queue. If I put a large XML message on the MQ Queue (say around 600 KB),
              the onMessage execution is very random, For the large messages only 1 MDB gets
              invoked and the other messages just sit on the MQ Queue. Even though I have defined
              an weblogic execute queue for the MDB's and they have 15 threads allocated.
              The other messages get picked up after the first one gets completed. The problem
              is the whole transaction (which is XA) can take a while (upto 10 minutes). This
              is not intended, but for some reason it takes that long.
              Also, while monitoring the MDB execute queues, I noticed that none of the threads
              from that queue are performing the work and a thread dump shows that the weblogic.ejb20.internal.JMSPoller
              thread has invoked the MDB and is currently waiting for the database to finish
              some processing.
              When the message size is smaller, the MDB's fire concurrently and are executed
              on the MDB execute queue.
              Thanks,
              Ketan.
              

    When we're using MDBs against a foreign JMS provider with XA, the EJB
              container tries to reduce the number of threads that are blocked waiting for
              a message. You should see lots of threads working when there are lots of
              messages on the queue, a few threads (or only one) working when the queue is
              empty or nearly so, and there should be some ramp-up and ramp-down time in
              between. It sounds like the ramp-up takes longer in your case because
              receiving the very first message takes a long time.
              If this behavior is causing big problems for you, you might want to contact
              product support and file an enhancement request.
              greg
              "Ketan" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Here is some more information regarding this issue.
              >
              > When I place sufficiently large messages (such that the parsing and
              processing
              > of these messages takes longer than it does for normal size messages), I
              notice
              > the following behavior.
              >
              > Lets say I put 6 large messages on the MQ Queue. The server immediately
              picks
              > up 1 message and starts processing it. The other 5 messages are sitting on
              the
              > MQ Queue, while the MDB execute queue has all 15 idle threads.
              >
              > After the processing of the message is done, 2 messages get picked up.
              This time,
              > 1 thread in the MDB execute queue gets the message and the other is
              processed
              > by the JMSPoller thread. After these 2 messages are processed, 3 Messages
              get
              > picked up and this time 2 messages are on the MDB execute queue and 1 is
              processed
              > by the JMSPoller.
              >
              > So based on this the question is ..Is this the expected behavior? I was
              under
              > the impression that the poller would simply dispatch messages to the
              execute queue,
              > and as a result, I was expecting all the messages would get picked up from
              the
              > MQ queue pretty fast and would not have to wait for 1 or more MDB's to
              finish
              > processing.
              >
              > I would really appreciate any suggestions anyone may have for me.
              >
              > Again the environment is WLS 8.1 SP2, MQ 5.3
              >
              > thanks,
              > Ketan
              

  • Error while using webmethod JMS provider with JNDI

    Hi,
    I am using webmethod JMS provider (not SAP JMS) with JNDI to connect to webmethod with XI. Central J2EE adapter engine is used and the comm chaneel is configured in with appropriate Provider JNDI Server address, initial context factory, Name of queue connection factory etc. 
    While activated the adapter short log shows: Adapter has not provided any status information about this channel"
    In the detailed log following error message is displayed: "Obtained connection factory: null#"
    #1.5 #001A4BAC31000052000001520000152200045090BF28DACA#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001530000152200045090BF28DB65#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Looking up connection factory under name NAIP_XIQueueConnectionFactory#
    #1.5 #001A4BAC31000052000001540000152200045090BF28E42E#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Obtained connection factory: null#
    #1.5 #001A4BAC31000052000001550000152200045090BF28E4B3#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001560000152200045090BF28E528#1214482519516#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001570000152200045090BF28E5A9#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Info##Java###Sucessfully executed CF invocations for connection factory object: for profile: #2#<null>#ConnectionProfile of channel: CC_RCV_JMS_SAPJNDIon node: 3010950 having object id: e4413a5265a436459e271d5e0dd4859b#
    #1.5 #001A4BAC31000052000001580000152200045090BF28E64E#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001590000152200045090BF28E6CA#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015A0000152200045090BF28E741#1214482519517#com.sap.aii.adapter.jms.core.common.StringUtils##com.sap.aii.adapter.jms.core.common.StringUtils.isBlank(String str)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015B0000152200045090BF28E7C3#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Creating connection...#
    #1.5 #001A4BAC310000520000015C0000152200045090BF28EB51#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Warning##Java###Catching #1#java.lang.NullPointerException
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection(ConnectorImpl.java:198)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:166)
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:186)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:151)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:235)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:154)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.doAddUpdateChannel(AdapterImpl.java:404)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(AdapterImpl.java:376)
    at com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl$1.run(ChannelLifecycleCallbackImpl.java:51)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    #1.5 #001A4BAC310000520000015D0000152200045090BF28EC6A#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Error##Plain###[[ChannelName:CC_RCV_JMS_SAPJNDI,ChannelId: e4413a5265a436459e271d5e0dd4859b]] Error adding/updating channel.#
    #1.5 #001A4BAC310000520000015E0000152200045090BF28ECF8#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC310000520000015F0000152200045090BF28ED76#1214482519519#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl##com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded().run()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC3100005F000000660000152200045090BF65478A#1214482523474#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded(Channel channel)#AAAAAAAAA#108##n/a##002ee500437911dd99cf001a4bac3100#SAPEngine_Application_Thread[impl:3]_29##0#0#Path##Plain###Exiting method#
    Please let me know anyone has come accross the problem or has idea how to solve it. Thanks.

    Hi,
    Ask ur basis admin to restart JMS adpater From Vis administrator and try again to activate the comm channel.
    Hope this will solve ur problem and once again check connection fatcory and Queue name provided by Webmethod admin.
    Regards,
    Srini

Maybe you are looking for