Can the AQ Adapter send a JMS Message?

I'm trying to use the AQ adapter to enqueue an XML message into a queue who's payload type is AQ$JMS_TEXT_MESSAGE so that it can be consumed by a Message Driven Bean in OC4J.
Simply sending the XML reults in:
"AQ Adapter: ** Error ** Can not enqueue messages to queue PLEDGE. ADT Payload defined for Queue PLEDGE does not match with OAI Message. Please check attribute "Pledge". In order for the AQ Adapter to enqueue OAI messages to the queue, the queue payload must match the ADT imported through iStudio."
I tried importing the AQ%JMS_TEXT_MESSAGE but can't see any easy way to construct it.
Is this even possible?
-Doug

Doug,
the AQ$JMS_TEXT_MESSAGE is an object type. So you'll need to import that type as your application view.
The problem with this JMS objecttype is how to populate it.
When your text (XML) is more than 4000 characters in length, the TEXT_LOB attribute should get the text. If less, the TEXT_VC attribute should get the text. In any case, the TEXT_LEN should be set to the length of the XML.
AFAIK, you can't currently do this with InterConnect directly.
The most popular solution is to have InterConnect deliver this message to a simple non-JMS queue and have some PL/SQL or java code convert it to a proper JMS text message and put it in the JMS text queue.
There are some features in the DBMS_AQ package to register a plsql procedure to be triggered when a message arrives (dbms_aq.register). That could be a procedure which converts the message for you.
In ProcessConnect (coming soon) there is a dedicated JMS adapter available.
HTH, Marc

Similar Messages

  • Cannot process a Fixed Field Length file using the File Adapter (Sender)

    Hi -
    I have checked throughout these posts and blogs but I still have not been able to find a solution to my issue.  When using the File Adapter (Sender) I get a Conversion initialization failed with "xml.keyfieldName", no value found.  Why would I require a key field when I am using fixed field lenghts?  The file is comprised of 2 structures - 1 header and multiple details (see below).  There are no key fields in the flat file that I would be able to use.  Any suggestions?
    011000390      Customer Americas        20080605164317 000000000000000800000008000000000016000000                              
    12345678          100500       100500       Supplier 1                         0000000000030000002008040400                    
    12345678          100501       100501       Supplier 2                         0000000000052000002008042100 
    The File Adapter is configured as follows:
    Document Name = Rfchke00
    Document Namespace = 'my namespace'
    Recordset Name = Rfchke00
    Recordset Structure = Dtachkh,1,Dtachkp,*
    Recordset Sequence = Ascending
    Recordsets per Message = 1
    Key Field Type = String (Case-Sensitive)
    Dtachkh.fieldFixedLengths = 15,25,8,6,1,8,8,8,15,3,31
    Dtachkh.fieldNames = F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11
    Dtachkh.processFieldNames = fromConfiguration
    Dtachkp,fieldFixedLengths = 18,13,13,35,15,3,8,2,21
    Dtachkp,fieldNames = F1,F2,F3,F4,F5,F6,F7,F8,F9
    Dtachkp,processFieldNames = fromConfiguration
    Thanks,
    Dave

    Hi,
    you can use the module from which u can convert your structure to
    H011000390 Customer Americas 20080605164317 000000000000000800000008000000000016000000
    D12345678 100500 100500 Supplier 1 0000000000030000002008040400
    D12345678 100501 100501 Supplier 2 0000000000052000002008042100
    Please note the extra H,D in the struture added by the module.
    You can then use them as your key fieldValues.. The module should be deployed in Visual Admin and then can be used in the Module tab of your adapter CC
    While writing the content conversion after that please dont forget about the added new characters
    Please note also that i can find that the word supplier kept repeating in all the Dtachkp records
    Please use that
    Also if you feel that the field is of 13 characters and that would cause a problem dont worry... create a dummy field eg split tht 13 to two fields and use the common one as key field Value and identifier... as i see in ure case its like 500 Supplier , 502 Supplier . u can split the first 4 char and the remaing 9 char are key field value.
    try this out
    Rgds
    Aditya

  • Sending a JMS message inside a PostPersist entity listener method

    Hi to all,
    I have an entity called "Batch" that I want to persist. After the persist, I want to send a JMS message to notify batch insertion to the other clients.
    So I created the "Batch" entity as following :
    @Entity
    @EntityListeners({BatchServiceBean.class})
    @Table(name = "batch")The "BatchServiceBean" is a session bean which persists the batch and sends the JMS notification message.
    Inside this class we have the following method :
    @PostPersist
        private void sendInsertMessage(Batch insertedBatch) throws JMSException {
            AddBatchMessage message = new AddBatchMessage();
            message.setBatch(insertedBatch);
            try {
                messageSenderServiceBean.sendRefreshMessage(message);
            } catch (Exception oups) {
                oups.printStackTrace();
        }In the previous code, I recuperate the inserted batch and the "messageSenderServiceBean" facade to send a refresh message.
    My problem is that I can get the inserted batch, but the object "messageSenderServiceBean" is null knowing that I have the following annotation to get the "messageSenderServiceBean" facade.
    @EJB
        private MessageSenderServiceLocal                   messageSenderServiceBean;Whyhe object "messageSenderServiceBean" is null ??
    Can any one help me ??
    Thanks in advance.

    Hello,
    Injection only occurs on server managed objects, not JPA managed entities or other java objects such as the listeners registered with JPA. So your Listener class will need to look up the server objects or other resources directly from the context rather than rely on them being injected. I don't have any good examples handy, but similar to how you would look up an ejb/datasource etc before injection.
    Best Regards,
    Chris

  • How to send a JMS message to a server ....

    Hi
    I want to know how to send a jms message to a Queue and that is in a different server...
    How to send A message using a application client to a Message queue That is in another Machine(Server is in another machine )
    env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.cosnaming.CNCtxFactory");
    env.put(Context.PROVIDER_URL, "iiop://127.0.0.1:3700/");
    InitialContext initialContext = new InitialContext(env);
    connectionFactory = (ConnectionFactory) initialContext.lookup("jms/ConnectionFactory");
    queue = (Queue) initialContext.lookup("jms/Queue");
    get a NameNotFoundException
    Anyone have an Idea
    thanks
    Ishkmi
    Message was edited by:
    ishkmi

    ok..try this..insert the ip address of the server where ur app server is
    running . i understand ur client and server is running on diff machines.
    ip address 127.0.0.1 is for local host. it tries to look for the server in
    same system as the client.
    substitue ip address of server in below line instead of 127.0..0.1
    env.put(Context.PROVIDER_URL, "iiop://127.0.0.1:3700/");
    best of luck ..lemme know..

  • MDB sending a JMS message to a queue (WLS 8.1.4)

    We are trying to implement a MDB to send a JMS message to a dynamically created JMS queue. Is this possible? We have found documentation stating the JMS Queue destination needs to be in the deployment descriptor, but in our case it changes so this is not an option. Any help would be appreciated.

    Sorry I didn't address the answers more clearly. You were correct on the answers except with:
              Switch from using a resource-reference to a direct reference for a send? Answer: No. We are only trying a direct send, not utilizing the resource-reference.
              We are already using "false" for the connection.create[Queue]Session code.
              Should we be trying something else because of transactional behavior of not utilizing the resource-reference for the send as you thought?
              We have tried the queue as XA and non-XA and neither work.

  • Using the RFC adapter (sender), how do I know which RFC is being sent?

    Hello everyone!
    Has anyone used the RFC adapter (sender) in XI to pick up RFC messages? How would I know which RFC is triggered for example when a user creates a PO (purchase order)?
    Warm Regards,
    Glenn

    Glenn,
    When u are writinfg RFC program, u will have destination right?  There u know u have to give RFC Destination(SM59) while creating RFC destination we will be giving Program ID .
    Similarly in XI while creating Sender RFC u have to give the program id. So with these program id these programs are linked together and triggered from R/3 to the exact Sender adapter.
    Please see Michal weblog for more details
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    I hope it clears your doubt!!!
    Best regards,
    raj.

  • What is the recommended way for persisting JMS messages?

    What is the recommended way for persisting JMS messages?. As per the IMQ admin documentation , using the default built-in persistence type which is through unix flat files is much efficient and faster, compared to the database persistence .
    Tried setting up the jdbc stuff for database persistence on iAS 6.5 . I am getting the following
    error .
    [24/Apr/2002:16:09:20 PDT] [B1060]: Loading persistent data...
    [24/Apr/2002:16:09:21 PDT] Using plugged in persistent store: database connection
    url=jdbc:oracle:thin:@dbatool.mygazoo.com:1521:qa1 brokerid=ias01
    [24/Apr/2002:16:09:23 PDT] [B1039]: Broker "jmqbroker" ready.
    [24/Apr/2002:16:11:56 PDT] ERROR [B4012]: Failed to persist interest
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Response%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0AisReadonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_Response%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    java.sql.SQLException: ORA-01401: inserted value too large for column
    [24/Apr/2002:16:11:56 PDT] WARNING [B2009]: Creation of consumer SM_Response to destination 1
    failed:com.sun.messaging.jmq.jmsserver.util.BrokerException: Failed to persist interest
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Response%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0AisReadonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_Response%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    java.sql.SQLException: ORA-01401: inserted value too large for column
    Any thoughts?

    From the output, you are using imq 2.0. In that release
    the key used to persist a durable subscriber in the database
    table has a limit of 100 characters. The output shows that
    your value is:
    SystemManager%3ASystemManagerEngine%2BiMQ+Destination%0AgetName%28%29%3A%09%09SM_Res
    ponse%0AClass%3A%09%09%09com.sun.messaging.Topic%0AgetVERSION%28%29%3A%09%092.0%0Ais
    Readonly%28%29%3A%09%09false%0AgetProperties%28%29%3A%09%7BJMQDestinationName%3DSM_R
    esponse%2C+JMQDestinationDescription%3DA+Description+for+the+Destination+Object%7D:
    which is much longer than 100 characters.
    You might want to shorten the string you use for the
    durable name.
    And yes, the default file-based persistence store is
    more efficient when compared to the plugged-in persistence
    through a database.

  • Dear Apple, unfortunately, I think I have found a bug in ios 7. During an incoming call is no call rejection or selection of the ability to send a text message. I hope it is a bug and there is a solution. Thank you very much.

    Dear Apple, unfortunately, I think I have found a bug in ios 7. During an incoming call is no call rejection or selection of the ability to send a text message. I hope it is a bug and there is a solution. Thank you very much.

    Please report via Apple Feedback. These are user forums. You aren't speaking to Apple here.

  • Can the power adapter be used in China?

    Can the power adapter be used in China?

    The short answer is, Yes; but you may need some form of adapter to connect the plug to the local style of socket.  A quick search on the internet found this http://en.wikipedia.org/wiki/AC_power_plugs_and_sockets

  • HELP!!! - Can the ClientHandler class send the client a file to .....

    Can the ClientHandler class send the client a file to a specific location on the client's PC[e.g. c:\games\folder1] ?

    What's the definition of your ClientHandler class?
    You can send any file you want to a machine that supports a server that is able to write the files. Its all up to the target machine what it will allow you to do. Is your target machine running an FTP server? If so you can use the URL class to send files to it.
    Did you check out the Tivoli Remote Control application I suggested on your earlier thread?

  • How to send a JMS message to a remote Queue?

    Hi,
    I know how to create a JMS message and send it to an MDB that listens to a topic in the same container in which the JMS is created.
    In other words, if I have the following MDB:
    @MessageDriven(mappedName = "jms/MyQueue", ...)
    public class MyMDB implements MessageListener {
    Elsewhere in my JEE app I can create a Queue like this:
    @Resource(mappedName = "jms/MyQueue")
    Queue queue;
    and use it to send a message to the MDB.
    But How can I send a message to an MDB that's deployed in another app server on another machine in the network? Both of the app servers are Glassfish.
    Thanks in advance.
    Edited by: EJP on 9/08/2011 21:49: fixed your meaningless title

    Hi,
    The first thing I would like to suggest is, we never/can't send message directly to MDB. We always send/receive message(s) to/from the destination. In case of MDB, the application server register the MDB as message listener against particular destination, and invoked the onMessage() method when message arrives on particular destination.
    If I am not wrong, what you want to achieve is asynchronous communication between two applications deployed in two different machine. In your case, you want your one application works as message producer and other act as an message consumer, and both are deployed in different machine.
    In this situations, you only need to configure the JMS administration object, connection factories and destinations, on one Application server and configure other application server to use those configuration using JMS resource adapter. you can well achieve this by configuring the JMS Resource Adapter. you need to check the Glassfish documentation.
    If you don't want to break the JMS specification, always communicate with Messaging Provider through Resource Adapter.
    I hope this helps.

  • Sending/Receiving JMS message to WMQ from Automated Task

    Hi All,
    I am new to OSM and working on a POC for the implementation of OSM in our company. We have WebSphere MQ for messaging and want to use same for OSM implementation. We don't want to create bridges, foreign server etc configuration in weblogic, rather just connect with MQ objects over JNDI (as supported) from OSM automated task. Having said that, we have following two scenarios:
    1- JMS message is received at OSM
    2- JMS message initiated from OSM (automated task)
    Now our requirement is to create a sort of JMS inbound gateway for first scenario i.e. reading a message from a Queue and CreateOrder and then reply back to caller using JMSReplyTo header.
    Second as JNDI support is available for automated task, can we send JMS message using direct JNDI look up for MQ JNDI objects i.e. using .bindings file (JNDI URL for MQ objects).
    Thanks

    Hi All,
    I am new to OSM and working on a POC for the implementation of OSM in our company. We have WebSphere MQ for messaging and want to use same for OSM implementation. We don't want to create bridges, foreign server etc configuration in weblogic, rather just connect with MQ objects over JNDI (as supported) from OSM automated task. Having said that, we have following two scenarios:
    1- JMS message is received at OSM
    2- JMS message initiated from OSM (automated task)
    Now our requirement is to create a sort of JMS inbound gateway for first scenario i.e. reading a message from a Queue and CreateOrder and then reply back to caller using JMSReplyTo header.
    Second as JNDI support is available for automated task, can we send JMS message using direct JNDI look up for MQ JNDI objects i.e. using .bindings file (JNDI URL for MQ objects).
    Thanks

  • Sending a jms message from one server to another in a cluster fails..

    Hi,
              My platform is wl6.1 sp7 two servers in a cluster...
              I have problems sending jms messages from one server to the other. When sending to a destination on the same server it works fine, but sending to the other server do not work. I get no exceptions when I send the message. The "Monitor all Active JMS Destinations..."->"Messages Received" column increase number of received messages for the remote server. But the onMessage method in the bean is not called(I am logging all calls to a file...)
              Any suggestions?
              And..
              My understanding is that the JNDINameReplicated default value is set to true? But when I don't set this value to true the jndi name is not replicated too the other server.
              (The state for both servers are Running in the admin console and listed servers in the cluster is 2....
              Server names:
              * bluej, biztalk-lab
              JMS connection factory:
              * xlink.jms.factory.commerceFactory, deplyed on both servers and for the cluster
              Destinations:
              * xlink.jms.service.report.biztalk-lab.Report for the biztalk-lab server active on 'biztalk-labJMSServer' JMS-server
              * xlink.jms.service.report.bluej.Report for the bluej server active on 'bluejJMSServer' JMS-server)
              ~b

    Deployed to the bluej server:
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>xlink.jms.service.report.bluej.Report</ejb-name>
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>3</max-beans-in-free-pool>
              <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
              </pool>
              <destination-jndi-name>xlink.jms.service.report.bluej.Report</destination-jndi-name>
              </message-driven-descriptor>
              <jndi-name>xlink.jms.service.report.bluej.Report</jndi-name>
              </weblogic-enterprise-bean>
              <weblogic-enterprise-bean>
              <ejb-name>xlink.jms.service.report.bluej.Report</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>xlink.jms.service.report.bluej.Report</destination-jndi-name>
              </message-driven-descriptor>
              <jndi-name>xlink.jms.service.report.bluej.Report</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              <ejb-jar>
              <enterprise-beans>
              <message-driven>
              <ejb-name>xlink.jms.service.report.bluej.Report</ejb-name>
              <ejb-class>no.xlink.server.service.report.engine.jms.ReportBean</ejb-class>
              <transaction-type>Bean</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              </ejb-jar>
              Deployed to the biztalk-lab server:
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>xlink.jms.service.report.biztalk-lab.Report</ejb-name>
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>3</max-beans-in-free-pool>
              <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
              </pool>
              <destination-jndi-name>xlink.jms.service.report.biztalk-lab.Report</destination-jndi-name>
              </message-driven-descriptor>
              <jndi-name>xlink.jms.service.report.biztalk-lab.Report</jndi-name>
              </weblogic-enterprise-bean>
              <weblogic-enterprise-bean>
              <ejb-name>xlink.jms.service.report.biztalk-lab.Report</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>xlink.jms.service.report.biztalk-lab.Report</destination-jndi-name>
              </message-driven-descriptor>
              <jndi-name>xlink.jms.service.report.biztalk-lab.Report</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              <ejb-jar>
              <enterprise-beans>
              <message-driven>
              <ejb-name>xlink.jms.service.report.biztalk-lab.Report</ejb-name>
              <ejb-class>no.xlink.server.service.report.engine.jms.ReportBean</ejb-class>
              <transaction-type>Bean</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              </ejb-jar>

  • How can i make Tomcat work as JMS message Provider?

    i've installed Tomcat on my windows 2000. but how can i make it works as a JMS message provider? pls help!

    Tomcat only implements the Servlet and JSP specifications, not JMS. See JBoss.org or SwiftMQ, or OpenJMS, etc.

  • How can the Changes be seen in Output Message Cond. maint. for Purcha. Ord.

    Dear All Gurus,
                                                                                    User had maint. the Cond. record in MN04 as for Com. code --> with Option - 5 email and Dispatch time as 4 , but as the P.o created then in Message tab the Cond. record populated as --> 5 External email and Dispatch time -3 (send with own trxn ), also i hd selected the output message line n click on Further data tab , new screen opens , here there is no tick on Manually ? Locked , this indicates that there is no any changes done in output in this P.O, but this also implies that what ever the cond. are created in MN04 , the same cond. are populated in this P.O, but user says that -> the cond record was maint. as with  Option - 5 ( email) and Dispatch time as 4( Send immediately).Either the user is lying that the cond had maint correctly but may be the real situation could be that user might have created the cond with option -->  5 External email and Dispatch time -3 (send with own trxn ) and same is populated in this p.o created .
    Here my question is that can we  check that whatever the changes be carried out for that Co. code in trxn MN05 , is it possible to see those changes that on which date these changes were done  , we have to convice this to user.
    Rgds n thanxin advance.
    sap11

    a condition table is a customer table. if you want monitor changes made to records in such tables, then you have to prepare this in SE11 Go to Transaction SE11, enter table name  and then click on 'Change' icon. In the next screen, click on 'Technical Settings' icon, the 'Log Data Change' indicator is located at the end of the screen.
    of course this works only for changes made  to conditions  after this setting has been made.
    check if you can use AUT10 transaction

Maybe you are looking for

  • Hp 4580 wireless connection question

    Can I connect this printer by usb To one pc, and ALSO connect it wirelessly to other computers on the wireless network in The house ?

  • I have a disabled iPod, do I have to call iTunes to get it fixed?

    I have a 5g iPod and forgot the password. After multiple failed attempts, it became Disabled. I tried connecting to iTunes but nothing worked. My friend said we have to call iTunes to help fix it. Do I have to or is there another way?

  • Documentation and Book

    Hello expert, I am installing Oracle 9i products. When I search docs from otn.oracle.com website, I do get some books such as installation and administration guide. But these book still can not clear everything, do I need to bug some commercial book

  • Windown 8.1 shuts down when I click on Sleep/Hibernate

    I  have recently installed windows 8.1 and i have noticed that every time I click on sleep/hibernate, it shuts down the laptop and I loose all my work. Please provide a solution for this. Thanks!

  • Opening Balanced

    I've a new company code (IPW). Before i start to use transaction with CoCd (IPW), I've input the opening balanced. Can you explain step by step how to input the opening balanced in FICO and is there any customizing in IMG should i run for Opening Bal