JMS and JDBC Adapter in PI7.1

Hi All,
Kindly tell me about the blogs for JMS and JDBC adapter.
Please tell me about the Message Types in JMS adapter.
Thanks in advance.

Hi Shwetambari,
Thanks for the reply.
We need to mention the Adapter Modules while configuring the communiucation channels in JMS
e.g. Adapter/ConvertJMSMessageToBinary,Adapter/ConvertBinaryToXMBMessage etc.
So please tell me whether we need to write the cide for the same in JAVA or it is already there ?If it is there then whre can we get it?Do we need to decompile the archeve ?If so, then how to do it?
Can you give me the Adaqpter Modules for which the code is already there?
The JMS adapter (Java Message Service) enables you to connect messaging systems to the Integration Engine or the PCK.
What are the different types of Messaging Systems?Or what is meant by the Messaging System in JMS?
What are the different types of Messages used?
Thanks in advance.
Edited by: Shweta Kullkarni on Sep 4, 2009 5:22 AM

Similar Messages

  • Sapdb (maxdb) and jdbc adapter problem

    Hi,
    i have installed this jdbc file:
    http://sapdb.org/7.4/sap_db_jdbc.htm
    like in this how-to:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how to install and configure external drivers for jdbc and jms adapters.pdf
    then i set up an jdbc to file szenario to test the adapter.
    Driver is: com.sap.dbtech.jdbc.DriverSapDB
    connection is: jdbc:sapdb://sapdb-host/XI_DATA
    with sapdb-host is the db server and XI_DATA ist the database
    user and pw is dba
    sql statement is: SELECT * FROM "AAA_XI_DATA" WHERE "number" = 50
    with AAA_XI_DATA is the table with test data.
    the statment works in the sapdb studio. (No ; in sapdb and the XI)
    but when i have a look at the runtime monitor at the af
    messages there is no message genereated. where can i
    check, if the jdbc driver is working and where do i find
    error messages?
    Regards
    J.
    Message was edited by: Jörg Pieper

    You can check if there is some kind of error with the JDBC Adapter in the Runtime Workbench. Inside the RWB, open "Component Monitoring", "tree view", "Adapter Monitoring", and in the adapter listing you'll find the "JDBC Adapter". It should have a green light. If not, the error will be displayed.

  • Need information about Mail  and JDBC Adapter

    Hi Guys,
    I am just started learning XI. Can any you provide any document how to use Mail and JDBC adapters in step-by-step way.
    Thanks & Regards
    Surendra M

    hi,
    Check these links
    Mail Adapter
    http://help.sap.com/saphelp_nw70/helpdata/en/ad/bf93409c663228e10000000a1550b0/frameset.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9e6c7911-0d01-0010-1aa3-8e1bb1551f05
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6d967fbc-0a01-0010-4fb4-91c6d38c5816
    JDBC Adapter
    http://help.sap.com/saphelp_nw70/helpdata/en/22/b4d13b633f7748b4d34f3191529946/frameset.htm
    Receiving Mail attachments using additional files of file adapter
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1685 [original link is broken] [original link is broken] [original link is broken]
    FILE to JDBC Adapter using SAP XI 3.0
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    Tips and Tutorial for Sender JDBC Adapter
    /people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
    Sachin
    Message was edited by:

  • Stored procedures and JDBC Adapter

    Hey guys ,
    any blog where i canlook up w.r.t. working with  any stored procedure through xi ?
    Appreciate ur help.
    Krishna

    Hi Krishna,
    Here you go-
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    Also remember that, Sender JDBC Adapter doesnot support Oracle Stored Procedures. Because Sender JDBC Adapter sends resultset to XI. But Oracle stored procedure returns Cursor.
    I think, if you are using other database then it may support.
    Regards,
    Moorthy

  • Oracle CEP and JDBC Adapter

    I am using Oracle CEP 10g on WIndows.
    I wrote the following code on CEP:
    OracleDataSource ods = new OracleDataSource();
    ods.setURL("jdbc:oracle:thin:scott/[email protected]:1521/orcl");
    Connection conn = ods.getConnection();
    // Check for the existence of a previous customerID
    String selectStmt     = "SELECT * from STEPS " +
         "WHERE (streamID='" +
         this.customerId +
         "') and (assetid='" +
         this.eventName +
    Statement stmt  = conn.createStatement();
    //System.out.println("-- calling SELECT");
    //System.out.println(selectStmt);
    ResultSet rs    = stmt.executeQuery(selectStmt);This works great, except it is exceedingling slow. I am sending about 20,000 messages to this code.
    I think the problem is that I open the connection everytime I perform a select (and later an insert statement).
    The server instance goes away after the message has been processed, and I can not save the connection.
    Would using an adapter in config.xml prevent this openig a new connection every time a message invokes this code ?
    If so, I have never done JDBC with an adapter and I dont understand how to use an adapter to use a WHERE clause to select on variables, since in the example I have seen so far, it places "SELECT 1 from DUAL" into the config.xml and does not explain how to get mix have the SELECT statement interact with code variables or better yet how to get your code to get a connection handle.
    Could someone please post an exaqmple of how to use an adapter with JDBC, and possibly how to get your code to access a connection handle from the config.xml ?
    Thanks

    Hi,
    From note : 831162,
    <i>Oracle JDBC Driver (classes12.zip / classes12.jar) Deadlocks
    Q: I have deployed the Oracle classes12.zip / classes12.jar JDBC driver as per the instructions in the XI Configuration Guide.
    Unfortunately, I frequently notice hanging database connections. A thread dump taken according to the instructions in note 710154 shows one or more blocking JDBC Sender/Reciver threads and optionally that the JVM has detected a deadlock.
    A: <b>The Oracle classes12.zip / classes12.jar driver is compatible with JDK 1.2 and 1.3 only, but not with JDK 1.4. Upgrade to a current version of the driver (ojdbc14.jar). For details, refer to note 941317.</b>
    Make sure that you remove classes12.zip / classes12.jar from aii_af_jmsproviderlib.sda prior to adding the new driver as per the instructions in the answer to question #1 above as you will get a class name collision otherwise (all JARs from aii_af_jmsproviderlib.sda are loaded into the same class loader and the driver class name of both driver versions is the same).
    Before deploying the updated driver, ensure that the new version is still compatible with your Oracle database server release. For details, refer to the release notes provided by Oracle.</i>
    Regards,
    Bhavesh

  • JMS and JDBC Transaction

    I have recently tried using the JMS interface for AQ and I have discovered that the queue connection is a separate JDBC connection even if you create a queue connection using an OracleConnection. Is there a workaround for this? It seems a bit strange to have two connections open to the database and be forced to use an XA session in order to get the commits synchronized. Any ideas ? Below is some sample code I am using:
    queueConnection = AQjmsQueueConnectionFactory.createQueueConnection((OracleConnection)connection);
    queueConnection.start();
    QueueSession queueSession = queueConnection.createQueueSession(true, Session.CLIENT_ACKNOWLEDGE);
    AQjmsSession aqs = (AQjmsSession)queueSession;
    Queue queue = aqs.getQueue("TEST_SCHEMA", "TEST_QUEUE");

    Hello,
    What version are you using of the jar files? What version of the database are you using?
    From what I recall the example in <Note:301434.1> successfully reused an existing JDBC connection.
    I would be interested to see a more complete code example if this is not helpful.
    Thanks
    Peter

  • Configuring file and JDBC adapter using MAX DB

    Dear Experts..!!!
    The problem description is i need to store a text file in Database(MaxDB).....
    in receiver communication channel there is database connection in that i want to know what entrys to be done..... and plz do let me know is there any other things to be done to achieve the output.

    Hi Vinod,
           I also do not have idea about MaxDB, but you can refer these links. It will help you out in getting some more information about MaxDB and XI:
    <a href="/people/joerg.hoffmeister/blog/2006/12/07/maxdbsdn:///people/joerg.hoffmeister/blog/2006/12/07/maxdbsdn
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/maxdb">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/maxdb</a>
    Go through the home page of MaxDB on SDN, it has plenty of information to help you.
    Regards,
    Subhasha ranjan

  • We get "uFF06uFF03x0;" from sender JDBC adapter

    Thank you.
    This is naoki kurihara.
    We have a problem in sender JDBC adapter.
    We use java mapping and sender JDBC adapter in PI7.1 on Windows.(DB is sqlserver)
    and we test the interface and we found error.
    the reason is to get "&#x0;" from JDBC adapter.
    and our java mapping can't parse it. and we got error.
    the column is not null.
    how we can prevent "&#x0;",
    (sorry I cant write "&#" 1byte word, so I wrote 2bytes word)
    please give me your help!!
    Thanks

    Hi,
    Replace the & character with &amp ; in your java mapping. The same goes for these special characters:
    < with &lt ;
    > with &gt ;
    " with &quot ;
    ' with &apos ;
    Please remove the space between the escape character and the ; in your Java mapping. The spaces are typed here because the equivalent characters are not displaying correctly.
    It should be able to handle the # though. Hope this helps
    Regards,
    Mark

  • JMS to JDBC

    Hi Friends,
              This is Bhavya.Right now I am working with the interface i.e. JMS to JDBC.
    Can anybody send me the sample scenario?
    Thanks,
    Bhavya...

    Hi Bhavya,
    First you need to install the external drivers for JMS and JDBC adpater.
    You can check the following link for that.
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bf4b1055-0d01-0010-32a3-b3848d77a6b9">How to Install and Configure External Drivers for JDBC JMS</a>
    Now your sender service is an JMS server, the details of which you must have..which you will provide it in the channel...it is not that complicated....
    For JDBC side..
    Check the following blog for the same.
    <a href="/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30">FILE to JDBC Adapter using SAP XI</a>
    <b>*Reward points if helpful*</b>
    Regards,
    Sushil

  • JDBC, JMS and EJB transactions - possible problem?

    Hello,
              I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
              XDoclet.
              In my current project I have the following piece of code
              in one of my message driven beans (code cited as pseudocode
              without unnecessary details):
              * @ejb.bean name="MyMessageProcessor"
              * display-name="Display name for a MyMessageProcessor"
              * jndi-name="ejb/MyMessageProcessor"
              * description="Bean MyMessageProcessor"
              * destination-type="javax.jms.Queue"
              * transaction-type="Container"
              * acknowledge-mode="Auto-acknowledge"
              * subscription-durability="Durable"
              * generate="false"
              * @ejb.transaction type="Required"
              public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
              public void onMessage(Message msg) {
                   try {
                        //obtaining connections to two different databases via JNDi
                        java.sql.Connection connOne =
                        ((DataSource)ctx.lookup("DataSourceOne")).getConnection();          
                        java.sql.Connection connTwo =
                             ((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
                        // performing some UPDATEs and INSERTs on connOne and connTwo
                        // calling some other methods of this bean
                        //creating the reply JMS message and sending it to another JMS queue
                        Message msgTwo = this.createReplyMessage(msg)
                        this.queueSender.send(msgTwo);
                        //commiting everything
                        this.queueSession.commit();          
                   } catch (Exception ex) {
                   try {
                        if (this.queueSession!=null) this.queueSession.rollback();
                   } catch (JMSException JMSEx) {};     
                   this.context.setRollbackOnly();
              Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
              connection pool with non-XA jdbc driver. Everything worked fine
              including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
              to database and the incomming message was thrown back to the my bean's
              queue).
              When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
              participate in a global transaction. When I changed both datasources
              to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
              EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
              and the JMS message wasn't resent to the JMS queue.
              So here are my questions:
                   1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
                   Are there any global server configurations, which may influence this situation?
                   2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
                   (of course, if necessary)?
                   3. Are there any JMS Queue settings, which would disable the container to send message back to the
                   queue in case of setRollbackOnly()? How should be the Queue configurated?
              As I am new to the topic and the deadline for the project seems to be too close I would be grateful
              for any help.
              This message was sent to EJB list and JDBC list.
              Sincerely yours,
              Marcin Zakidalski

    Hi,
              I found these information extremely useful and helpful.
              The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
              Anyway, I still have some problems. I have made some changes to the
              code cited in my previous mail. These changes included changing QueueSessions
              to non-transactional. I also set the "Honorate global transactions" to true.
              I am using XA JDBC driver. After setting "Enable local transactions" to false
              (I did it, because I assume that JDBC transactions should be part on the global
              EJB transaction) I got the following error:
              java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
              driver supports performing SQL operations with no global transaction, explicitly allow it by setting
              "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
              transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
              complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
              I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
              the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
              My questions are as follows:
              1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
              thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
              from doing that? Can using setAutocommit(true/false) change the situation for better?
              2. How to encourage the JDBC driver to be a part of EJB transaction?
              3. As I have noticed each of ejb method has its own transactions (transactions have different
              Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
              way that if already started transaction exists it is used by the called method?
              4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
              impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
              enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
              solved programmically?
              Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
              I am loosing the ability to perform all actions in one transaction.
              Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
              Marcin

  • JDBC adapter and message split

    Hello, does anybody know how I can make a split of a document created by the JDBC adapter and that should look like
    <resultset>
      <row>
         <column-name1>column-value</ column-name1>
         <column-name2>column-value</ column-name2>
         <column-name3>column-value</ column-name3>
      </row>
      <row>
         <column-name1>column-value</ column-name1>
         <column-name2>column-value</ column-name2>
         <column-name3>column-value</ column-name3>
      </row>
    </resultset>
    into several's independent documents of type:
      <row>
         <column-name1>column-value</ column-name1>
         <column-name2>column-value</ column-name2>
         <column-name3>column-value</ column-name3>
      </row>
    May I create the messages in the dispatcher?
    Thank you
    Ernesto Duran

    Hello, isn't it possible to create an inbound abap Proxy in XI that wait for the message then this inbound proxy loops into the message and call and outbound proxy for each entry(row).
    The outbound proxy is working well for me but I'm having problems routing the message back to XI... I get the problem "SAP:Code p1="No inbound interface found for sender" But when I route the message to a business systems everything is ok.????
    Anyway what I want to do is:
    jdbc adapter --> XI --> inbound proxy --> XI --> outbound proxy --> XI --> Idoc adapter --> R3
    And the steps inbound proxy --> XI --> outbound proxy --> XI are used only to split the message.
    The reason why I try to use this approach is that I don't understand how I can split a message in java or XSLT maybe someone know???
    Thank you
    Ernesto Duran

  • In jdbc adapter what is the difference between insert and update insert

    in jdbc adapter what is the difference between insert and update insert
    Edited by: katru vijay on Mar 22, 2010 7:43 AM

    Please refer to this Link [Document Formats for the Receiver JDBC Adapter|http://help.sap.com/saphelp_nw04/Helpdata/EN/22/b4d13b633f7748b4d34f3191529946/frameset.htm]
    Hope this helps.
    Regards,
    Chandravadan

  • JDBC Adapter: DELETE and INSERT in Mapping

    Hi,
    I have a JMS to JDBC interface. While this is straightforward enough, there is a requirement to clear the contents of the table before carrying out the insert
    What I've tried is:
    <MT_Message>
       <Statement>
            <TableClear>
                 <action> .....attribute mapped to SQL_DML
                 <access> ....element mapped to DELETE FROM table
            <TableInsert>
                  <action> .....attribute mapped INSERT constant
                  <table> ......element mapped to Table name
                  <access> ...allthe fields in the table
    The DELETE statement works and the Insert statement work but they won't work together. Is this possible at all? What other options are there in this case?

    I went for two different Statement tags so the structure of the Message Type is:
    <MT_Message>
      <StatementDelete>
             <TableClear>
                 <action> ....attribute mapped to SQL_DML
                 <access> ...element mapped to DELETE FROM Table
      <StatementInsert>
             <TableInsert>
                  <action> ....attribute mapped to INSERT constant
                  <table>  ....element mapped to table name
                  <access> ...all the columns in my table

  • Sender JDBC Adapter and Synchronous Interfaces

    Hello
    I have a Oracle/JDBC -> XI -> ECC/RFC scenario. The communication mode is Synchronous.
    In the Oracle database I have a table with a "STATUS" field.  When JDBC Adapter Sends the rows from this table to the Integration Engine, it updates the "STATUS" from "G" (GENERATED) to "R" (READ).
    The response from the RFC contains for each row sent to RFC a "STATUS_from_RFC" field, that I would like to use to update Oracle STATUS field to "S" (SUCCESS) or "E" (ERROR).
    Can the Sender JDBC Adapter use the response from the Synchronous RFC to update Oracle "STATUS" field itself ?
    Or do I need a Receiver JDBC Adapter? In this case, I have to use asynchronous communication and BPM, ok ?
    thanks
    Julio

    Bhavesh,
    <i>>>>But, the online help states it supports QOS of BE and so it does support Synchronous Processing.</i>
    Even File adapter has QOS of BE
    To my understanding response back is possible only if it is PUSH + Sync
    Adapters PUSH + Sync
    HTTP
    SOAP
    RFC
    XI
    etc...
    For the above response is possible
    Adapter PULL + Sync
    File
    JDBC
    etc..
    In general there can be a response if there is a request. In the case of File and JDBC there is no request message coming to the adapter, its the adapter which is actually requesting.
    This is just an idea and my understanding.. might not be true If possible do try it and let everyone know I will also give it a try when time permits
    Thanks,
    Prakash

  • Adapter Limitations Of Sender  JDBC and Mail Adapter

    hi All,
    could you tell me the limitations of JDBC and Mail Adapter .i need to document these details .
    Regards
    Vidya Sagar

    HI Vidya,
    If i was you, i would do a list of things that i would need about these adapters, o i would search the SAP.help documentation for a first view and later ask about this possibility. Another way is to read the SCN doubts about these adapters and you can find some problems. You should think about the PI version as well.
    Regards.

Maybe you are looking for

  • Help with adobe digital publishing professional step by step guide

    hello can you please give me a link for the step by step for proffesional edition, im goiing to buy the license and i ant to read about how to publish multiple folios app for apple and for android thanks

  • Text input into WebTemplate and sending it to an ODS - urgent

    SDNers, I have a unique requirement. I need to take in text input on screen and then send back the same into an ODS in BW. Something like : Project Overrun | Text Area 20% | <Project Manager's comments> I need to pass this on to atleast an ABAp FUnct

  • Item Category Issue

    Dear Experts, While i create packaging in Handling unit ther is a tab  of Additional Data in Sales and distribution.In that we have Item Category - Issue is i am inputing manual item category TAN but i want to pick automatically. I am unable to find

  • How to create a Watch List using JSF

    I'd like to build a HTML UI which includes the toggling of items from a watch list. For example, stocks or system alerts which are important to the user. First of all are there any JSF example which demonstrate this type of application? What is the b

  • JavaScript onKeyUp() not working in a BSP integrated in SAP GUI

    hi everybody. we want to run a bsp application in sap gui using the Javascript based WYMeditor.(http://www.wymeditor.org/) But thought this wysiwyg editor is working fine while testing in a seperate browser window it won't work while integrated in SA