JMS Inbound with SonicMQ

Hi Guys,
  I have configured a scenario where we are sending messages out of SonicMQ into XI. The scenario is working fine when the SonicMQ sends the XML message in the "Text" message type, but XI is not receiving any message when SonicMQ sends the message in "XML" message type. The message keeps sitting in the SonicMQ and it never gets picked up by JMS Inbound Adapter.
  Does anyone know what version of SonicMQ is supported in XI JMS adapter. We are using XI 2.0 and Sonic version 6.0.
Thanks,

Hi Lalit,
When the scenario is working fine with Text Message type, then i guess the Verison of SonicMQ is not the problem here. I would suggest to go help by opening a OSS message for this problem which lloks strange to me...
Check the JMS Adapter Trace file for more info..
Regards
Prasad

Similar Messages

  • Inbound JMS adapter with MapMessage

    I'm sharing the following problem and solution with using the OEP inbound message adapter because it may be
    a common situation occurring to other users.
    Recently was using the inbound JMS adapter with its default (OEP internal) converter from JMS MapMessage
    messages to OEP events. The inbound adapter was receiving MapMessage messages but it was not assigning
    values to the corresponding attributes in the specified input event instance.
    The problem was that I was not properly creating the MapMessage messages in the JMS producer client.
    I was using method setStringProperty() instead of method setString(), which is what is needed to set name/value
    pairs of type String, and similarly with other primitive Java data types. Here's a code snippet for building and sending
    a MapMessage on the client side:
          try {
          mapm = qsess.createMapMessage();
          mapm.setString("valueType1", "value1");
          mapm.setString("valueType2", "value2");
          mapm.setInt("valueType3", 5);
          producer.send(mapm);
         } catch (JMSException jmse) {
         jmse.printStackTrace(System.err);
         System.exit(0);
    Regards,
    Mauricio

    OSB JMS config:
    <queue name="RequestQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>RequestQ</jndi-name>
    </queue>
    <queue name="ResponseQ">
    <sub-deployment-name>wlsbJMSServer</sub-deployment-name>
    <jndi-name>ResponseQ</jndi-name>
    </queue>
    Business service in OSB from where message is sent to the "ResponseQ" which is consumed by CEP.
    Jms Inbound CEP Config:
    <jms-adapter>
    <name>jmsAdapterInbound</name>
    <jndi-provider-url>t3://10.227.145.164:7005</jndi-provider-url>
    <connection-jndi-name>weblogic.jms.XAConnectionFactory</connection-jndi-name>          
    <destination-jndi-name>ResponseQ</destination-jndi-name>
    <user>weblogic</user>
    <password>weblogic123</password>
    <work-manager>JettyWorkManager</work-manager>
    <concurrent-consumers>1</concurrent-consumers>
    <session-transacted>false</session-transacted>
    </jms-adapter>

  • Issue with JMS inbound Adapter  and Asynchronous BPEL

    Hi Gurus,
    I am facing the below issue with JMS inbound Adapter and Asynchronous BPEL .
    I have 2 JMS Queues one inbound and one outbound . The Composite has multiple BPEL Components around 4 on an average and i have 4 composites similar to that .
    Totally 4 Composites * 4 BPEL Components = 16 Services
    Propoesd Solution :
    I have used MessageSelector in the JMS Adapter for selecting the incoming message. The BPEL gets invoked if the message selector is true and proceses the Message and writes the response to the other Queue.
    Initially i had no problems but intermittantly the BPEL processes are getting invoked but they are not processing the data ( Bpel process is supposed to invoke an external service and get the response in a sync call) and each BPEL processe instance is in running state for ever . This remains even if i restart the servers .
    The message gets read by the JMS Adapter , BPEL instace gets created but it wont proceed futher and remains in the runnign state for ever.
    If i redeploy the Composite then messages get processed but the issue creeps up again ( i tried to checl the logs but ino cluea about the issue .
    Getting frustrated day by day tried the bpel.config.transaction, increased the JMS Adapter threads , inreased the worker threads but all in vein..
    please let me know if any one has faced similar issue .
    Anticipating a quick response from the gurus.
    Lakshmi.

    We are also facing this issue in 11.1.1.5.
    Breifly the issue is : The BPEL process which polls an inbound JMSAdater ( consume_message) either stays in running state forever ( whatever we do) or go to the recovery queue. It doesnt recover even if i try to recover it. This happens intermittently. Redeploying the application / restarting servers sometime solve the issue but as know we cant do that on prod systems .
    Can some one look into this on priority and help us giving a solution/workaround.

  • Payload level filter JMS Adapter with Queue - not filtering

    Hi ,
    I have created AQ Queue in my Database, Using JMS Adapter i am able consume and produce the messages. I want a filter condition, which is not happening.
    The scenario is i have a field ImportInd in my XSD and i need to pick the message with ImportInd = 1, otherwise the message should lie on the queue.
    Please help me in this,
    Thanks,
    Padmini

    Trying to give you the counterparts I have in my working example.
    In my case the queue is on a separate machine, and the BPEL is deployed on a separate machine. Cross-domain security config needs to be done for these machines to be able to talk.
    In weblogic console: where BPEL is running.
    under deployment jmsadapter -> Outbound Connections -> jndi name is jms/PRISMQueue -> ConnectionFactoryLocation Property is jms/SoaCF
    where queue is configured.
    Under JMS Module Connection Factory Name is SoaConnectionFactory which JNDI name is jms/SoaCF
    Under JMS Module Queue Name SOAPostActivityStatusQueue which JNDI name is jms.SOAPostActivityStatusQueue
    Services>Messaging>JMSModules>MyModule>SOAPostActivityStatusQueue>
    JNDI name - jms.SOAPostActivityStatusQueue
    Adapter in BPEL/Composite-
    Destination - jms.SOAPostActivityStatusQueue
    JNDI - jms/PRISMQueue
    JCA:
    <adapter-config name="PostResponseFromPCService" adapter="JMS Adapter" wsdlLocation="PostResponseFromPCService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="jms/PRISMQueue" UIJmsProvider="WLSJMS" UIConnectionName="tacoma"/>
    <endpoint-activation portType="Consume_Message_ptt" operation="Consume_Message">
    <activation-spec className="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec">
    <property name="PayloadType" value="TextMessage"/>
    <property name="UseMessageListener" value="false"/>
    <property name="DestinationName" value="jms.SOAPostActivityStatusQueue"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    HTH.
    Thanks!

  • JMS distrubuted topic and jms inbound adapter

    Hi,
    We are building a HA application using precise recovery using JMS. FOr that we want to create a distributed JMS Topic (ckustered JMS Topic). As we understand things, when a JMS subscriber subscribes to a distributed Topic it is actually wired to a sopecific server (a specific fisical JMS Topic). When this JMS server fails the connection is dropped and the JMS subscriber needs to reconnect.
    1. Is our understanging correct?
    2. If yes and we need to reconnect to the surviving JMS Topic, is there a way to "tell" the JMS Inbound adapter to do so? Is it done automatically by the adapter?
    Thanks,

    There are a few different things you should be considering when configuring JMS for precise recovery, so I'm afraid this is going to be a long response.
    * The precise recovery feature may not work correctly in the case where JMS output messages are lost. Avoiding message loss in the case of a JMS failure involving topics requires the use of persistent messages and durable subscribers. This is true regardless of whether you're using Distributed Topics or a Topic hosted by a single server. So use of durable subscribers is highly recommended when using CEP precise recovery.
    * The CEP JMS input adapter won't actually support durable subscriptions until the upcoming 11.1.1.6 (PS5) release. So if you want to use durable subscriptions to avoid problems with precise recovery in the case of JMS server failure you would need to be on this release of CEP (at least for production).
    * If you're using the CEP JMS inbound adapter with a distributed topic and a non-durable subscription, you can configure the adapter destination-jndi-name with the logical name of the topic and if the topic member servicing a given consumer fails, the consumer will reconnect to a surviving topic member. This works because you're using a logical destination name (not a physical host name or IP address), so the adapter is able to determine the surviving servers associated with the logical topic and reconnect to one of them. However since you'd be using non-durable subscriptions in this case to achieve failover/reconnect, you can have the problem described above with message loss and precise recovery (non-durable subscribers/non-persistent messaging can lose messages during the actual failover/reconnect).
    * Unfortunately, WLS doesn't support durable subscriptions to distributed topics using the logical destination name. When using distributed topics you can only create durable subscriptions on specific topic members, and since these are subscriptions to a specific physical member these subscribers won't failover to another topic member if the server hosting their subscription fails.
    So given all of the above you can see that the use of distributed topics with CEP precise recovery may not provide the ideal level of HA (the ability to handle combinations of JMS and CEP failures). You might want to consider using a non-distributed (single server) topic with persistent messaging and durable subscriptions as an alternate approach for precise recovery. In this configuration JMS server failure would require restarting the failed server, but once the JMS server is restarted there should be no message loss and CEP precise recovery should work correctly.
    If you're determined to use distributed topics you might want to try posting to the JMS forum to see if anyone there has ideas for other solutions. Just let them know that CEP in this case is essentially acting as a vanilla JMS client (not MDB based) that can't tolerate message loss:
    WebLogic Server - JMS

  • JMS-Adapter with persistent Queues (DB): ORABPEL-12166

    Hi,
    does anybody know what the error:
    file:/C:/oracle/product/10.1.3.1/OracleAS_1/bpel/domains/Provisioning/tmp/.bpel_SenderProvisioning_1.0_bb735430814144c8f5f279c73842c3d4.tmp/JMS_Provisiong_A.wsdl [ Produce_Message_ptt::Produce_Message(Request) ] - WSIF JCA Execute of operation 'Produce_Message' failed due to: ERRJMS_ENQUEUE_ERR.
    Die Nachricht konnte aufgrund von folgender Fehlerbedingung nicht in die Queue gestellt werden:.
    ; nested exception is:
         ORABPEL-12166
    ERRJMS_ENQUEUE_ERR.
    Die Nachricht konnte aufgrund von folgender Fehlerbedingung nicht in die Queue gestellt werden:.
    Weitere Informationen hierzu finden Sie in der Log-Datei.
    means?
    Where can i find the logs?

    This is most likely caused by a nonexistent or misconfigured queue.
    For a JMS adapter, make sure your AQ queue/topic is set up as JMSType. Make sure you've spelled everything correctly.
    To find the logs for ESB go to:
    $ORACLE_HOME/j2ee/oc4j_soa/log/oc4j see log.xml
    For BPEL go to
    $ORACLE_HOME/bpel/domains/default/logs see domain.log
    You may also find errors in the OPMN logs:
    $ORACLE_HOME/opmn/logs
    see default_group~oc4j_soa~default_group~1.log
    You will have to turn up log levels to "FINE" or "FINER" for ESB or DEBUG for BPEL to get anything close to a meaningful message. For my most recent error on ESB the "FINER" setting yielded the following message for this error:
    </MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[ORABPEL-12166
    ERRJMS_ENQUEUE_ERR.
    Could not enqueue message due to the following error condition:.
    Please examine the log file to determine the problem.
    at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:237)
    at oracle.tip.adapter.jms.outbound.JmsProducer.execute(JmsProducer.java:143)
    at oracle.tip.adapter.jms.JmsInteraction.executeProduce(JmsInteraction.java:197)
    at oracle.tip.adapter.jms.JmsInteraction.execute(JmsInteraction.java:156)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:485)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:736)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:497)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:430)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:447)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:184)
    at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:112)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105)
    at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273)
    at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:212)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:197)
    at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
    at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:82)
    at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
    at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:69)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:369)
    at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:295)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:293)
    at oracle.tip.adapter.jms.inbound.JmsConsumer.doSend(JmsConsumer.java:571)
    at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:507)
    at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:353)
    at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:274)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.UnsupportedOperationException: publish is called without a valid Topic
    at oracle.jms.AQjmsProducer.publish(AQjmsProducer.java:1252)
    at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:215)
    ... 34 more
    Hope that helps. See the SOA admin guide for help with setting log levels:
    Here's where you can find all App Server books for SOA Suite:
    http://download-west.oracle.com/docs/cd/B31017_01/nav/docindex.htm
    Peace,
    G.

  • Problem with Send using JMS Adapter with Websphere MQ

    Hi,
    We have two scenarios using JMS Adapter with MQ:
    1. File->PI->MQ
    This works fine and drop the file in MQ correctly.
    2. MQ->PI->File
    This gives an error reading from the queue: (see highlighted in the log below). It correctly connects to the queue name. But it fails with the message "Could not begin a AF transaction".
    Our PI version is 7.0 SP 13
    Websphere MQ Version 6.0.
    Any idea what could be wrong?
      Cluster Node  Administration Information  Availability Times
    Cluster Node Details for Channel CC_JMS_MQ_Sender
    Short Log 
    In the Last 4 Hours Server 0 15_92786
    _Sucessfully connected to destination 'queue:///MMPP.PLM.FGH41? CCSID=37&targetClient=1'_
       Line 1 / 1
    Processing Details for Cluster Node Server 0 15_92786
    Type 
    Time Stamp 
    Message ID 
    Explanation 
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d Error while processing message '2e6206f0-7925-11dd-bc02-0003bae50b4d';  _detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Could not begin a AF transaction: TxManagerException: Unable to open transaction: com.sap.engine.services.ts.exceptions.BaseSystemException at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:103) ..._  
    9/2/08 2:27:28 PM 2e6206f0-7925-11dd-bc02-0003bae50b4d XI message ID corresponding to JMS message with ID 'ID:414d512071736431202020202020202047d9462024028b02' will be created as a new GUID with value '2e6206f0-7925-11dd-bc02-0003bae50b4d'
    Amith Dharmasiri

    Checked the drivers installed in :
    /usr/sap/<SID>/DVEBMGS<SYSNO>
    /j2ee/cluster/server0/bin/ext/com.sap
    .aii.af.jmsproviderlib
    They are available and properly added to aii_af_jmsproviderlib.sda.
    The drivers are:
    CL3Export.jar
    CL3Nonexport.jar
    com.ibm.mq.jar
    com.ibm.mqjms.jar
    connector.jar
    dhbcore.jar
    rmm.jar
    These were installed per OSS note 747601.
    Any other suggestions, why retrieving from MQ doesn't work?

  • Debugging JMS adapter with Module Configuration

    Hi.
    I have a problem debugging my JMS adapter with module configuration.
    All I get from the Message Monitor is a status "System Error", and no error category or error message.
    I know there's an error in my Module configuration design, since it works fine without.
    My configuration looks like this:
    PROCESSING SEQUENCE:
    1     localejbs/AF_Modules/MessageTransformBean     Local Enterprise Bean     XML2Plain
    2     localejbs/SAP XI JMS Adapter/ConvertMessageToBinary     Local Enterprise Bean     convert_XI2Bin
    3     localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService     Local Enterprise Bean     exit
    MODULE CONFIGURATION:
    XML2Plain     Transform.Class     com.sap.aii.messaging.adapter.Conversion
    XML2Plain     Transform.ContentType     text/plain;charset=utf-8
    XML2Plain     xml.conversionType     StructXML2Plain
    XML2Plain     xml.addHeaderLine     0
    XML2Plain     xml.recordsetStructure     STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
    XML2Plain     xml.STARTRECORD.fieldFixedLengths     2,8,6,7,10,7,3,3
    XML2Plain     xml.DATARECORD.fieldFixedLengths     2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
    XML2Plain     xml.SERVICEYDELSERRECORD.fieldFixedLengths     2,8,6,4,3,20,18,18,18
    XML2Plain     xml.SLUTRECORD.fieldFixedLengths     2,8,6,7,10,7
    XML2Plain     xml.STARTRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.DATARECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling     Cut
    XML2Plain     xml.SLUTRECORD.fixedLengthTooShortHandling     Cut
    The structure of the message looks like this:
    <STARTRECORD> (occurence = 1)
    <DATARECORD> (occurence = 1..unbounded)
    --- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
    <SLUTRECORD> (occurence = 1)
    I've crosschecked every field, and it length and all looks like it should!
    The worst part is the one not getting the reason why it fails. Any way I can get this information?
    I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
    Help
    Regards Peter

    Hello,
    Below is the module configuration in my JMS sender channel:
    Check Message          Local Enterprise Bean          key
    ConvertJMSMessageToBinary      Local Enterprise Bean      convert_JMS2Bin
    ConvertBinaryToXMBMessage     Local Enterprise Bean      convert_Bin2XI
    CallSapAdapter                Local Enterprise Bean          call_AF_MS
    CheckMessage is a custom module which does some check on the incoming message.
    Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
    ~Thanks.

  • Sender JMS Adapter with EOIO Quality of Service

    Hi,
    I have a sender JMS adapter with a quality of service as EOIO. In the SAP help it says that I need to specify the "Processing J2EE Cluster Server (Cluster ID)". Just wondering how I get this value? Does anyone have an example?
    Thanks,
    Krishneel

    Hi,
    Please go through the bleow Wiki:
    http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    satya

  • Problem with calling AQ JMS Adapter with Asynchronous BPEL Process

    I have a AQ JMS Adapter and i'm invoking the adapter in my BPEL process.
    I'm passing an xml as payload to AQ JMS adapter. When i post the xml in the BPEL Control, i'm getting the follwoing message:
    "Cannot find the specified instance". I have tried 3-4 times but getting same message all the time.
    However, i'm able to publish xml to JMS Topic with synchronous BPEL process.
    I want to use asynchronous BPLE process.
    Please let me know if there is a way to overcome this issue.
    Thanks in advance.
    Thanx in Advance.

    I am experiencing the exact same issue while configuring for Tibco EMS!!!
    I have also checked the oc4j-xa.xml file etc and I am also unable to find any guidance on the steps required from XML config files through to adapter wizard entries!

  • Configuring WL JMS as a foreign JMS provider with security scope (WLS 8.1)

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

  • JMS Sender with ejb3 container managed transaction

    Hi all,
    I refer to the following link http://download.oracle.com/docs/cd/E11035_01/wls100/jms/trans.html#wp1035937
    I found that JTA support JMS.
    But I dont' want to use JTA explicitly, I want to use container manage transaction. eg. inside ejb3 stateless session bean.
    does it support JMS?
    With Regards,
    wp

    Hi,
    Yes, WebLogic JMS supports JTA (a.k.a XA, a.k.a global) transactions such as container managed transactions. There are two requirements for CMTs on SSB:
    (1) use an XML descriptor setting or EJB annotation to enable CMT for the SSB
    (2) use a WebLogic JMS connection factory that is configured to have "global (XA) transactions enabled"
    And I usually also recommend:
    (3) Consider using a JEE "res-ref" for the connection factory to enable pooling of JMS resources. See "Enhanced Support for Using WebLogic JMS with EJBs and Servlets" (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/j2ee.htm#g1329180), and the "Integrating Remote JMS Providers" FAQ (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/interop.htm#JMSPG553).
    (4) Avoid using SSBs to receive messages. MDBs are specifically designed for processing incoming messages.
    It's also possible to have WebLogic automatically enlist foreign (non-WebLogic) vendors in WebLogic transactions. See the "Integrating Remote JMS Providers" FAQ for details (http://download.oracle.com/docs/cd/E14571_01/web.1111/e13727/interop.htm#JMSPG553).
    Regards,
    tom

  • Using WebLogic JMS Wrappers with Spring

    Hi,
    I was just wondering if anyone used WebLogic JMS wrappers with Spring?
    I am using WebLogic configured to have Sonic as my Foreign JNDI Provider. Weblogic provide me with specific entries on the admin console to set information such as the JNDI name of the Sonic Connection Factory. If I specify this JNDI name in the Spring config, and call getConnection() then I will get back a new connection each time.
    I don't want this, I want to cache the connection (as connections are expensive in Sonic). This is where the WebLogic JMS wrappers come in, they can handle the pooling for me but the only way I can see to use them is via a resource-ref. It is possible for Spring to get a handle onto these wrappers or should I use Spring's own pooling mechanism instead?
    P.S. I've also asked this question on the Spring forum
    Thanks for any help
    Mandy

    Maybe you have already tried the following:
    <beans xmlns:jee="http://www.springframework.org/schema/jee" ... >
    <jee:jndi-lookup id="connectionFactory" jndi-name="jms.ConnectionFactory">
    <jee:environment>
    java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
    java.naming.provider.url=t3://localhost:7001
    </jee:environment>
    </jee:jndi-lookup>
    </beans>
    an alternative is to use the JNDI template
    <beans ... >
    <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
    <props>
    <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
    <prop key="java.naming.provider.url">t3://localhost:7001</prop>
    </props>
    </property>
    </bean>
    <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="jndiName"><value>jms.ConnectionFactory</value></property>
    </bean>
    </beans>

  • How to find inbound with repect to goods receipt?

    Dear Gurus,
    how to find inbound with repect to goods receipt?
    Any report?
    Thanks,

    Once you do goods receipt inbound delivery no gets updated in Material document delivery note field.Use Table MKPF to get inbound delivery umber against material document
    Material document field :MKPF -MBLNR
    Inbound delivery Ref :MKPF-XBLNR

  • Errors on JMS communication Channel sonicMQ JMS Provider netweaver2004s

    After deploying supplier specific jar's Sonic_Client.jar into aii_af_jmsproviderlib.sda.
    I get the following error in the communication channel monitoring.
    Channel CC_SONIC_RECEIVER is errornous, hence it cannot be started. See error messages ( Error during channel initialization; exception trace: java.lang.ClassCastException
         at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:372)
         at com.sap.aii.af.service.jms.WorkerHandlerImpl.run(WorkerHandlerImpl.java:344)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         ...) before. Reconfigure it or restart the JMS service!
    Any suggestions about the cause...

    yes the drivertool.bat does it for me
    <?xml version="1.0" encoding="UTF-8"?>
    <provider-descriptor>
        <display-name>com.sap.aii.af.jmsproviderlib</display-name>
        <component-name>com.sap.aii.af.jmsproviderlib</component-name>
        <major-version>7</major-version>
        <minor-version>0</minor-version>
        <micro-version>6</micro-version>
        <provider-name>sap.com</provider-name>
          <references>
             <reference type="library" strength="weak">jms</reference>
          <reference type="library" strengh="weak">com.sap.aii.messaging.runtime</reference></references>
        <jars>
        <jar-name>sonic_Client.jar</jar-name><jar-name>sonic_XA.jar</jar-name></jars>
      <
    At this moment i am receiving the following error on the communication channel
    Exception caught by adapter framework: The JMS channel with channel ID f055fe2451203cd5b39d81c7647b281e is errornous. Details:Error during channel initialization; exception trace: javax.jms.JMSException: java.io.IOException: Invalid broker response.: HTTP://progressow1.XXXXXXXXXXX.com:2600 at progress.message.jimpl.JMSExceptionUtil.createJMSException(Unknown Source) at progress.message.jimpl.Connection.(Unknown Source) at progress.message.jimpl.QueueConnection.(Unknown Source) ... [104] progress.message.client.ENetworkFailure: java.io.IOException: Invalid broker response.: HTTP://progressow1.XXXXXXXXXXX.com:260

Maybe you are looking for