Issue in Synchronous OSB using Jms Queues in OSB11g

Hi,
I am working on building a synchronous OSB using the following steps.
1)     Creating the Synchronous OSB Proxy Service which routes the message to the business service which in turn places a message in the Queue(inqueue) by populating the JMSCorrelationId and waits for the response message to consume from another queue.
2)     A Composite(SOA) will consume the message from this Queue
3)     It will do necessary transformation and Places it in another Queue (Say Response Queue).
4)     OSB Business service waiting in Step 1 will receive the response from this response Queue.
I used a sample Wsdl which has both request and response message types.
I observed that the correlation ID is maintained properly from inqueue to response queue. But the message is not getting picked up by OSB from the response Queue
Twist: It is working absolutely fine in OSB 10g but it is not working in OSB 11g.
I tried using Messaging service as well as using the sample WSDL i.e keepiing the soap message in the queue. Both the cases are working absolutely fine OSB 10g but not in OSB 11g.
Can anyone faced a similar issue or any pointers will be great help in this regard.
Regards,
Ashok

To debug this further can you check if the response Q has any active consumers. ? When you use response by correlation ID business service, OSB actually creates MDB's with message selectors under the hood.
This is a sample of the ejb-jar.xml of the MDB created for a business service with response by Correlation ID pattern.
<?xml version='1.0' encoding='UTF-8'?>
<jav:ejb-jar xmlns:jav="http://java.sun.com/xml/ns/javaee">
<jav:display-name>BEA ALSB JMS Outbound Sync-Async Endpoint</jav:display-name>
<jav:enterprise-beans>
<jav:message-driven>
<jav:ejb-name>ResponseEJB-6577847719916437493-3893eeb7.1287d30ba4f.-7fe1</jav:ejb-name>
<jav:ejb-class>com.bea.wli.sb.transports.jms.JmsAsyncResponseMDB</jav:ejb-class>
<jav:transaction-type>Container</jav:transaction-type>
<jav:message-destination-type>javax.jms.Queue</jav:message-destination-type>
<jav:activation-config>
*<jav:activation-config-property>*
*<jav:activation-config-property-name>messageSelector</jav:activation-config-property-name>*
*<jav:activation-config-property-value>JMSCorrelationID LIKE 'ID:424541534594cf52%'</jav:activation-config-property-value>*
*</jav:activation-config-property>*
</jav:activation-config>
<jav:env-entry>
<jav:env-entry-name>service-ref</jav:env-entry-name>
<jav:env-entry-type>java.lang.String</jav:env-entry-type>
<jav:env-entry-value>BusinessService$Test$RequestQ</jav:env-entry-value>
</jav:env-entry>
As you can see the message selector is based on JMSCorrelationID LIKE 'ID:424541534594cf52%'. This means the business service will pick only those messages which has its correlation ID starting with ID:424541534594cf52.
You can see the message selector for your MDB from admin console --> deployments.
Check and confirm if the correlation ID created in the request also starts with this value and the same is send back from the server. Also try deleting and recreating the business service or rename the business service which will create a new MDB under the hood and check the above.

Similar Messages

  • Is Message debatching in OSB using JMS transport possible

    hi
    I have message on JMS queue with multiple message(s) in it.
    Now my requirement is to read this JMS message as multiple internal message(s) from queue using OSB JMS transport.
    Is this possible from OSB JMS transport?
    Thanks in advance.
    -Ramakrishna Gilla

    No.. JMS transport wont automatically do it for you .. You will have to write a jms proxy service and have your logic to do the debatching.. alternatively you can use jms proxy as a pass thru service writing to the file system and then have the JCA file adapter to do the debatching..

  • OSB - Dynamic JMS Queue Routing

    My Input to the proxy is
    a. A Message payload.
    b. QueueName ( queueA or QueueB or can be anything else).
    The message has to be sent to QueueName( a JMS queue setup in weblogic) configured in the input.
    How do i do this in OSB ?
    In bpel i simply used <bpelx:inputProperty name="jca.jms.JMSDestinationName" to dynamically assign the JMSDestination name to any queue.

    Your endpoint should look like similar to:
    jms://myosbmanaged_server:7001/my_jndi_connection_factory/my_jndi_queue_name
    i.e (for a distributed queue over and osb cluster)
    jms://osb1dev2:7001,osb2dev2:7001/weblogic.jms.XAConnectionFactory/Finance.ExchangeRates.Queue
    HTH

  • How to Run a simple program using JMS Queue.!!

    Hi All,
    I am trying to run simple program on JMS Queue.
    Using SOA Suite 10.1.3.2
    I created a connection factory and queue using EM.
    Connection Factory => Domain : Queue JNDI Location : jms/sidConnectionFactory
    Queue Name : SidQueue JNDI Location : jms/SidQueue
    Tried running a simple java class to send the messages to queue.[Pls find the file attached].
    Getting this error
    javax.naming.NamingException: META-INF/application-client.xml not found (see J2EE spec, application-client chapter for requirements and format of the file)
    at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getRequiredClasspathResource(ApplicationClientInitialContextFactory.java:239)
    at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getArchive(ApplicationClientInitialContextFactory.java:161)
    at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getInitialContext(ApplicationClientInitialContextFactory.java:111)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    Can some one tell me how i need to create this file and where to place this[i.e is this need to be placed in  my project or some directory structure of <SOA-HOME>
    Thx,
    Siddhardha.
    Code:
    package demo;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Properties;
    import javax.jms.*;
    import javax.naming.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class JMSQueue {
        public static void main(String args[])
    QueueConnection queueConnection;
    QueueSession queueSession;
    //private MessageProducer producer;
    QueueSender queueSender;
    try {          
    String message = "Test";
    String connectionFactoryName = "jms/sidConnectionFactory";
    String destinationName = "jms/SidQueue";
    /*Do i need to use this .......
    * If so where is the error in below statements...
    * Properties env = new Properties( );
    // ... specify the JNDI properties specific to the vendor
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.evermind.server.ApplicationClientInitialContextFactory");
    env.put(Context.PROVIDER_URL,
    "ormi://localhost:23791");
    Context ctx = new InitialContext();
    // Get the connection factory.
    QueueConnectionFactory cf = (QueueConnectionFactory)ctx.lookup(connectionFactoryName);
    // Get the destination.
    Queue destination = (Queue) ctx.lookup(destinationName);
    // Use the connection factory to create a connection.
    queueConnection = cf.createQueueConnection();
    // Start the connection.
    queueConnection.start();
    // Use the connection to create a session.
    queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    // Use the session and destination to create a message producer and a message consumer.
    //producer = queueSession.createProducer(destination);
    queueSender = queueSession.createSender(destination);
    TextMessage msg = queueSession.createTextMessage(message);
    queueSender.send(msg);
    queueSession.close();
    queueConnection.close();
    catch (Exception ex) {
    ex.printStackTrace();
    * Attached following libraries to the Project
    * jms.jar
    * optic.jar
    * oc4jclient.jar
    */

    Hi,
    You need to change the INITIAL_CONTEXT_FACTORY to com.evermind.server.RMIInitialContextFactory.
    Regards,
    Sandeep

  • SOA OSB and JMS issues

    Hi guys,
    We are trying to achieve synchronous communication using JMS. The client in Weblogic Domain 1 creates a JMS Message , and sets the JMSReplyTo attribute as queue ‘Reply’ where it waits on for a reply. It waits for a message having correlation id = to the messageid of the message it sent on the ‘reply’ queue. An OSB proxy service picks the message and puts it on a queue on Weblogic Domain 2. A MDB listening to this queue on domain 2, picks the message and creates a reply message with the correlation id of reply as message id of incoming message. At this point when we inspect the JMSReplyTo header value of the request message, it appears as null. Is the JMSReplyTo attribute not retained across Weblogic domains? Or is the proxy service not copying it over.
    Our basic aim is to get the request message from a queue on one domain to another domain, and get the reply back on the right queue that the client is pinning on.
    Is using OSB not the right approach or we are not configuring it right? Will using Weblogic SAF capability help us?

    You have to configure a transport header action with "pass all headers through pipeline" option to make this work.
    Configuring Transport Headers in Message Flows
    The transport header action is a communication type action, and it is available in pipeline stages and error handler stages.
    Configuring Global Pass Through and Header-Specific Copy Options for Transport Headers
    The following options are available when you configure a transport headers action:
    > * The Pass all Headers through Pipeline option specifies that at run time, the transport headers action passes all headers through from the inbound message to >the outbound message or vice versa. Every header in the source set of headers is copied to the target header set, overwriting any existing values in the target >header set.

  • Use ODI with JMS Queue

    I'm new user in ODI and also JMS. I successfuly use odi to integrate data from two oracle database applications. I'm trying to integrate applications using JMS Queues (or Topics) and I failed to create odi "data server" for this technology. Can someone help me to do this or give me a sample to follow it?
    thanks.

    Hi there,
    You can actually create 2 different types of connections to a JMS Queue or Topic. Flat or XML. The simplest to start with is flat. This will basically cause ODI to view the contents of the queue as simple flat file data. Note, this is a bit advanced use of ODI, so I would perhaps go through connecting to an RDBMS first before walking through this. It will make more sense.
    To set this up, you will need to:
    1. Copy the necessary client files from OC4J, place them in the <ODI_HOME>/oracledi/drivers directory and restart ODI. The files you need are:
    - <OC4J_HOME>/j2ee/home/oc4jclient.jar
    - <OC4J_HOME>/j2ee/home/lib/javax77.jar
    - <OC4J_HOME>/j2ee/home/lib/jta.jar
    Sop copy those files and restart ODI.
    2. Create a physical connection (Topology Application/Physical Architecture/Technologies -> right click JMS Queues and select "Insert Data Server")
    3. In the Description tab, simpl fill in the Name field.
    4. In the JNDI tab , fille in the following:
    - JNDI Authentication - Simple
    - JNDI User: application user - this is the equivalent of javax.naming.Context.SECURITY_PRINCIPAL
    - Password: application password - this is the equivalent of javax.naming.Context.SECURITY_CREDENTIALS
    - JNDI Driver: This is the equivalent of javax.naming.Context.INITIAL_CONTEXT_FACTORY, so enter com.evermind.server.rmi.RMIInitialContextFactory
    - JNDI Url: This is the equivalent of javax.naming.Context.PROVIDER_URL, so put in ormi://<hostname>[:<port>]/<application>. For instance, with the basic OC4J install, I put in ormi://localhost/default.
    - JNDI Resource: This is the JNDI lookup key for your Queue Connection factory. For example, for the default OC4J installation, I put in jms/QueueConnectionFactory
    5. Click the Test button and click OK in the window that pops up. You should get a message box saying that your connection was successful.
    6. Click Apply or OK and a new window will pop up. In this window, go to the Context tab and click the Add button and in the row that appears, click on the right most field (it says <Undefined> and replace <undefined> with a logical name for your connection. Hit Enter and click OK)
    7. You've now connected to the Queue, to create the Queue object in ODI, go to the Designer window, go to models and create a new model.
    8. Set the name to whatever makes sense to you. Set the technology to JMS Queue and the Logical Schema to the logical connection name you created in step 6. In the Reverse tab, select Global from the Context dropdown menu.
    9. Click OK. You now have a container for any Queues that are in this connection.
    10. To point to the queue, right click your new model and select Insert Datastore.
    11. In the new window, name your datastore whatever you'd like. Set the resource name to the JNDI resource name for the queue (for example, with the default OC4J configuration, you could set this to jms/demoQueue.
    12. In the Files tab, set the File Format to fixed, and set the record separator to Windows or Unix (it doesn't really matter which one you pick)
    13. In the Columns tab, click the add button to add a column. Name the column something like DATA and set is to a String of size 1000.
    14. Click OK. You'll now be able to right click this new datastore and view data, granted in a very simple format. You can create a more complex flat file structure if you' like but this gives you a quick and easy to view the contents of the queue.
    I'd suggest trying to connect this way, post if you were successful and I will then post how to connect to an XML structured queue (it's a little teenie bit different)

  • Error while passing ODI variable in JNDI Url for JMS Queue XML

    Hi,
    Facing a weird problem while passing ODI variable in JNDI Url for JMS Queue XML.
    Below is the JNDI Url configured under ODI Topology:
    JNDI Url: t3://<host_location>?d=#TEST.SCHEMA_FILE&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    where,
    #TEST.SCHEMA_FILE --> ODI variable storing xsd name and location
    Issue Description:
    If we restart ODI server then for the first run of any ODI interface using JMS Queue XML, it is unable to get the value for ODI variable present in JNDI Url (d=#TEST.SCHEMA_FILE).
    It throws error message saying: No XSD found
    Temporary Resolution:
    As a temporary fix if we hard-code and pass the value in that ODI variable as shown below, it will successfully go through.
    eg: JNDI Url: t3://<host_location>?d=C:\XSD\test.xsd&s=<schema_name>&JMS_DESTINATION=jms/<queue_name>
    Reverting it back to variable later will have no issues and subsequent run will succeed.
    But again anytime later if server is restarted then first run will have this issue.
    Want to have permanent fix for it.
    Any one having idea on it please share. Appreciate your help!

    What ODI version are you using? It could be related to the bug in the older version as described in support note Doc ID 1290326.1

  • ODI 11g : JMS Queue XML Data Server creation

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

  • Configuration for JMS Adapter Sensor action and JMS Queue sensor action..!!

    Hi,
    Id like my BPEL process to send an XML message to JMS on Websphere,I was able to do this through a JMS adapter.But I would more like to add sensors into my process which would really do the same thing - send an XML message to JMS Q.
    Now I understand that there are two ways to do this,JMS Queue and JMS Adapter - thorugh bpel sensor action.
    I am able to use JMS Queue and it works fine , but adds its own xml tags to the message,Is there any way I could send only my xml payload as a message to the queue??
    Also could any1 tell me what is the configuration for JMS Adapter sensor action?
    Any suggestions how do I go about it??

    Hey Anirudh,
    Thanx for the response :-)
    All these hold good when I have an AQ adaptor right,But the thing is I want to send a message to a 'JMS' queue with out actually using an adapter configuration wizard and everythng..So I resolved to JMS queue Sensor action..Heres the xml snippet from the sensorAction.xml files which is generated..
    <actions targetNamespace="http://xmlns.oracle.com/Test_JMS_Logging" xmlns="http://xmlns.oracle.com/bpel/sensor" xmlns:tns="http://xmlns.oracle.com/Test_JMS_Logging" xmlns:pc="http://xmlns.oracle.com/bpel/sensor">
    <action name="JMS_LogEntry" publishName="" publishType="JMSQueue" enabled="true" filter="" publishTarget="jms/L_Queue">
    <property name="JMSConnectionFactory">jms/L_QueueCF</property>
    <sensorName>ActivitySensor_JMS</sensorName>
    </action>
    </actions>
    This works grt and adds messages to the queue..But adds its own header info according to the sensor.xsd loacted at the Oracle_home\bpel\system\xmllib\ folder.
    Right now the XML message added to the Queue is:-
    <actionData xmlns="http://xmlns.oracle.com/bpel/sensor">
    <header>
    <sensor sensorName="ActivitySensor_JMS" classname="oracle.tip.pc.services.reports.dca.agents.BpelActivitySensorAgent" kind="activity" target="AddLEntr
    y" xmlns:pc="http://xmlns.oracle.com/bpel/sensor" xmlns:ns2="http://www.ulrhome.com/2008/10/L_Entry" xmlns:tns="http://xmlns.oracle.com/Test_JMS">
    <activityConfig evalTime="completion">
    <variable outputDataType="string" outputNamespace="http://www.w3.org/2001/XMLSchema" target="$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName"/>
    </activityConfig>
    </sensor>
    <instanceId>950016</instanceId>
    <processName>Test_JMS</processName>
    <processRevision>v2009_04_15__40833</processRevision>
    <domain>default</domain>
    <timestamp>2009-04-15T11:21:23.596-04:00</timestamp>
    <midTierInstance>app01.ulrhome.com:9700</midTierInstance>
    </header>
    <payload>
    <activityData>
    <activityType>scope</activityType>
    <evalPoint>completion</evalPoint>
    <durationInSeconds>0.011</durationInSeconds>
    <duration>PT0.011S</duration>
    </activityData>
    <variableData>
    <dataType>12</dataType>
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    <queryName/>
    <target>$WriteL_Produce_Message_InputVariable/L_Entry/ns2:L_Entry/ns2:LCName</target>
    <updaterName>AddL_Entry</updaterName>
    <updaterType>scope</updaterType>
    </variableData>
    </payload>
    </actionData>
    My requirement is that I need to add a sensor to the BPEL process which posts 'Only my payload message to the JMS queue'..
    What I would want the message in the Queue to be is : -
    <data>
    <ns0:LCName xmlns:ns0="LC_Test1http://www.ulrhome.com/2008/10/L_Entry">LC_Test1</ns0:LCName>
    </data>
    Also while creating a Sensor action I get another option as JMS Adaptor,I am not sure of what value to type in this wizard..Heres what I keyed in..M sure this is not right..Cos it dosnt work :-)
    <action name="SensorAction_JMS" publishName="" publishType="JMSAdapter" enabled="true" filter="" publishTarget="jms/LoggingQueue">
    <property name="JMSConnectionName">Log</property>
    </action>
    </actions>
    Could any 1 tel me what values are the right values..And does JMS Adapter mean that I have to create a JMS Apator in the project and give that connection name as a Value..
    I am not finding sufficiant Documentation for 'JMS Adapter' so M clueless and right now any help will be appriciated :-)
    Regards,
    Akshatha.

  • Integration with JMS queue from BizTalk 2013R2

    Hi All,
    We are planning to integrate biztalk application with Oracle Siebel CRM (8.1.1.11). they wanted to use JMS queue to receive xml message from BizTalk2013R2 and also send message to BizTalk for more reliability.
    IS there any out of box adapter by which we can connect to their JMS queue.
    We dont want to go with 3rd party software like jt adapter for JMS queue
    Regards,
    Manish
    Manish

    Hi Manish,
    As of now there is no out-box-adapter for JMS queue.
    If you don’t want JNBridge adapter (I hope you’re referring to same. There is no “jt” adapter as you mentioned), you can create a custom adapter which access the JMS queue.
    Use WCF LOB adaper (WCF Lob
    Adapter Wizard)and create an adapter.
    Following article details about the .NET code for messaging with JMS queue, try the code.
    Use JMS Messaging in your C# Applications
    And following articles give details about using WCF LOB adapter/Wizard:
    What Is the WCF LOB Adapter SDK?
    Sample:
    https://msdn.microsoft.com/en-us/library/bb798102.aspx
    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx
    Use similar code (one from above codeproject article where how to do messaging between JMS queue is shown) to wrapper it around custom WCF LOB adapter.
    Give it a try, if you don’t want to spend anything on a 3<sup>rd</sup> party adapter.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Jms queue problem in 11g

    exception trace is comming, while running the project in weblogic, in the project iam using jms queue, i configured the jms server and jms module and connection factory but it is showing these exception
    [The selected operation process could not be invoked.
    An exception occured while invoking the webservice operation. Please see logs for more details.
    oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: InvalidSecurity : error in processing the WS-Security security header]
    can any one please, provide the suggestions

    i got the solution for my problem, i just need to add owsm policies to my processs

  • Unable to insert messages in JMS QUEUE

    Hi All,
    I am facing an issue while inserting messages in JMS queue.
    The JMS Queue is on another weblogic server and now i created a bpel process which has a jms adapter to insert messages inthe jms queue.I am deploying the Bpel in my server which does not have this particular JMS queue.
    I am unable to insert the messages into the JMS queue present on another weblogic server. where as i am able to insert messages if the queue is present on my server.
    Can you please let me know if its possible to put messages into a queue on remote server from local server.
    Thanks in advance.

    Most probably it seems like an issue of security. Please try to establish cross domain trust between these two Weblogic server domains. For more information refer to http://download.oracle.com/docs/cd/E1284001/wls/docs103/secmanage/domain.html#wp1175687_

  • Authentication problem w MDB on WL8.1 and JMS Queue on WL6.1

              Hi,
              I'm having problems with a MessageDrivenBean that is deployed on a Weblogic 8.1
              server. It listens to a JMS Queue on a Weblogic 6.1 server.
              I'm getting the following error message upon deployment:
              [java.lang.SecurityException: Authentication for user system denied in realm wl_realm
              I've made sure that both servers are installed with the user "system" and a password
              of "password".
              This worked fine for two WL6.1 servers.
              Here's my ejb-jar.xml:
              <!DOCTYPE ejb-jar PUBLIC
              '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
              'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
              <ejb-jar>
                  <enterprise-beans>
                      <message-driven>
                          <ejb-name>WebResponseJMSBean</ejb-name>
                          <ejb-class>com.ditech.webresponse.jms.WebResponseJMSBean</ejb-class>
                          <transaction-type>Container</transaction-type>
                          <message-driven-destination>
                              <destination-type>javax.jms.Queue</destination-type>
                          </message-driven-destination>
                      </message-driven>
                  </enterprise-beans>
                  <assembly-descriptor>
                      <container-transaction>
                          <description>Transaction attributes for 'WebResponseJMSBean' methods</description>
                          <method>
                              <ejb-name>WebResponseJMSBean</ejb-name>
                              <method-name>*</method-name>
                          </method>
                          <trans-attribute>NotSupported</trans-attribute>
                      </container-transaction>
                  </assembly-descriptor>
              </ejb-jar>
              Here's my weblogic-ejb-jar.xml:
              <?xml version="1.0"?>
              <!DOCTYPE weblogic-ejb-jar PUBLIC
              '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN'
              'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
              <weblogic-ejb-jar>
                  <weblogic-enterprise-bean>
                      <ejb-name>WebResponseJMSBean</ejb-name>
                      <message-driven-descriptor>
                          <destination-jndi-name>com.ditech.jms.CowResponseQueue</destination-jndi-name>
                          <provider-url>t3://localhost:7003</provider-url>
                          <connection-factory-jndi-name>com.ptp.jms.AppOnlineConnectionFactory</connection-factory-jndi-name>
                      </message-driven-descriptor>
                      <jndi-name>ejb/WebResponseJMSBean</jndi-name>
                  </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              Can anyone give me any suggestions?
              Thanks in advance,
              -Ben
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

              We are facing a similar issue, between MDB's and JMS Queues on 2 separated WebLogic
              8.1 domains. What I will test next week are:
              1. In the domain where my MDB's are deployed, configure Foreign JMS Servers/Connection
              Factories/Queues, for which passwords can be specified (not possible in weblogic-ejb-jar.xml)
              2. If No.1 does not work, I will add CredentialGenerated="false" in <SecurityConfiguration>
              in config.xml in both domains
              3. If No. 2 still does not work, I will specify run-as principal and security-role
              in my MDB DD files, and specify CredentialMapping via the WebLogic admin console.
              Maybe you can try the same?
              Eric Ma
              "B Liu" <[email protected]> wrote:
              >
              >Hi,
              >
              >I'm having problems with a MessageDrivenBean that is deployed on a Weblogic
              >8.1
              >server. It listens to a JMS Queue on a Weblogic 6.1 server.
              >
              >I'm getting the following error message upon deployment:
              >
              >[java.lang.SecurityException: Authentication for user system denied in
              >realm wl_realm
              >
              >I've made sure that both servers are installed with the user "system"
              >and a password
              >of "password".
              >
              >This worked fine for two WL6.1 servers.
              >
              >Here's my ejb-jar.xml:
              >
              ><!DOCTYPE ejb-jar PUBLIC
              >
              >'-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
              >
              >'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
              >
              >
              ><ejb-jar>
              >
              >    <enterprise-beans>
              >
              >        <message-driven>
              >
              >            <ejb-name>WebResponseJMSBean</ejb-name>
              >            <ejb-class>com.ditech.webresponse.jms.WebResponseJMSBean</ejb-class>
              >            <transaction-type>Container</transaction-type>
              >            <message-driven-destination>
              >                <destination-type>javax.jms.Queue</destination-type>
              >            </message-driven-destination>
              >
              >        </message-driven>
              >
              >    </enterprise-beans>
              >
              >    <assembly-descriptor>
              >
              >        <container-transaction>
              >
              >            <description>Transaction attributes for 'WebResponseJMSBean'
              >methods</description>
              >            <method>
              >                <ejb-name>WebResponseJMSBean</ejb-name>
              >                <method-name>*</method-name>
              >            </method>
              >            <trans-attribute>NotSupported</trans-attribute>
              >
              >        </container-transaction>
              >
              >    </assembly-descriptor>
              >
              ></ejb-jar>
              >
              >Here's my weblogic-ejb-jar.xml:
              >
              ><?xml version="1.0"?>
              >
              >
              >
              ><!DOCTYPE weblogic-ejb-jar PUBLIC
              >
              >'-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN'
              >
              >'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
              >
              >
              ><weblogic-ejb-jar>
              >
              >    <weblogic-enterprise-bean>
              >
              >        <ejb-name>WebResponseJMSBean</ejb-name>
              >
              >        <message-driven-descriptor>
              >
              >            <destination-jndi-name>com.ditech.jms.CowResponseQueue</destination-jndi-name>
              >            <provider-url>t3://localhost:7003</provider-url>
              >            <connection-factory-jndi-name>com.ptp.jms.AppOnlineConnectionFactory</connection-factory-jndi-name>
              >        </message-driven-descriptor>
              >
              >        <jndi-name>ejb/WebResponseJMSBean</jndi-name>
              >
              >    </weblogic-enterprise-bean>
              >
              ></weblogic-ejb-jar>
              >
              >
              >Can anyone give me any suggestions?
              >
              >Thanks in advance,
              >-Ben
              >
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

  • Advantages and Disadvantages of JMS Queue over Fabric

    HI,
    I want to know both the advantages and disadvantages of using JMS queue over the default Fabric queue in B2B adapter.
    Is it ok if I configure all my inbound and outbound transactions across all the trading partners to communicate with their respective SOA composite via the default JMS Queues(B2B_IN_QUEUE and B2B_OUT_QUEUE)?
    Please advise.
    Thanks in advance.
    Regards,
    Monica

    Hi Monica,
    But the size of the payload which I am using is unpredictable, it can differ from 1 MB to 40MB in future.This is not a problem. B2B can handle MB's of file if server has enough resources.
    all other payloads greater than 3MB, it is getting faulted with the message:
    "SAX Exception in translator. SAX Exception raised while trying to SAX Parse InputStream . Please make sure that the xml data is valid."Please remember that when B2B will find a large payload then it will write the large payload into the "Large Payload Directory" (defined in Administration--> Configuration) and pass it's reference to the middleware. So at middleware, you will not receive the actual payload but you will receive it's reference. Using File adapter sync read option, you may read the large file from "Large Payload Directory" at SOA layer.
    If you are using PS5 (11.1.1.6) then you will see that for large payload, B2B passes the JMS header LARGE_PAYLOAD to the back-end so in your composite, you may build logic around this. If this header (LARGE_PAYLOAD) is not coming at SOA layer then payload will be available in the body and if it is populated then payload will be available in the "Large Payload Directory" and it's reference will be available in the message body.
    Regards,
    Anuj

  • Read message synchronously from JMS queue using OSB

    Hi,
    Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
    The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
    Let me know if there are any pointers.
    Thanks
    Sandeep

    Hi,
    I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
    We wanted to use in memory JMS queues in our situation.
    In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
    This is working for us without a problem
    Robert

Maybe you are looking for