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

Similar Messages

  • Create jms queue xml data server

    Hi,
    What's the difference between jms queue and jms queue xml data servers and how to create jms queue xml data server.
    Thanks.

    Hello,
    JMS messages can principally be processed by Oracle Data Integrator in two formats:
    - JMS Messages: containers for rows of data, handled through JMS Queue/JMS Topic Technologies. With JMS Queue/JMS Topic technologies, each JMS destination is defined similarly to a flat file datastore. Each message in the destination is a record in the datastore.
    - XML Messages: containers for XML files, handled through JMS XML Queue/JMS XML Topic Technologies. With JMS XML Queue/JMS XML Topic technologies, each messages payload contains a complete XML data structure. This structure is mapped into a relational schema (XML Schema) which appears as a model. This use the Oracle DI Driver for XML (see the driver documentation in Oracle DI documentation).
    Find below a step by step creation process for such a destination:
    1. Data Server
    To create a JMS XML Queue data server, you declare a simple JNDI connection. The only JMS XML specific information is added to the URL. This information defines the XML file format.
    The JNDI URL should be : <JMS_RESOURCE>?d=<DTD_FILE>&f=<XML_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>
    - JMS_RESOURCE: JNDI resource corresponding to your JMS queue that will contain the XML payload. You would specify this URL if you were managing normal JMS messages.
    - DTD_FILE: path to a DTD file that describes the XML structure. Mandatory if the parameter XML_FILE is omitted.
    - XML_FILE: path to the XML file with a structure similar to the expected XML messages. Mandatory if the DTD_FILE parameter is omitted.
    - SCHEMA: schema name that will contain the XML structure. This value must match the one set for the physical schema attached to this data server. This parameter is mandatory.
    - JMS_DESTINATION_NAME: name of the JMS queue or topic. This parameter is mandatory.
    2. Schema
    Creation is straightforward: In the Schema (Schema) and Schema (Work Schema), enter the name of the <SCHEMA> defined in the data server JNDI URL.
    3. Model
    Use standard reverse-engineering. As the Oracle DI Driver for XML is used the XML structure will be reversed as a relational structure.
    Regards,
    - FX

  • JMS data server  creation , parameters?

    hi,
    can anybody plz tell how to create jms queue dataserver in ODI.
    I have already created JMS data server in Weblogic 8.1.
    I'm using LDAP protoclol..
    Plz give the format of JNDI url and JNDI resource .
    I'm using JMS Queue ..Not JMS Queue XML ..
    Thanks a lot in advance ..
    user568....delhi

    Find below the process to configure a JMS destination for OC4J.
    You will need to adapt it to you JMS provider.
    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
    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.
    Regards,
    -FX

  • 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

  • Problem with inserting XML data server in ODI

    Hi,
    I was trying to insert an XML data server in ODI. I want to use it for my target database.i.e i want my target to be an xml file. So while specifying the url in the data server, what should i mention as the file name,dtd file , root etc? what i have done is dat i hav created the dtd file as per my requirement.i have created an empty xml file. while testing the connection an error comes : java.sql.SQLException: A parsing exception occurred saying Whitespace required..
    Next i tried putting jz d root tags in the xml file without any content. this returned the same error. next i tried inserting all d tags as per my dtd file. same error came...
    Please help.
    Regards,
    Divya
    Message was edited by:
    Divya Padmanabhan

    For empty xml try to use:
    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT_SOME></ROOT_SOME>
    as jdbc connect string:
    jdbc:snps:xml?f=../demo/xml/1/file.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true
    and try again...

  • Creation of JMS queue in jboss server programmatically

    Hi Folks,
    How do we create a JMS queue in JBOSS server programmatically or dynamically?
    If anybody has a link or code that would be really helpful.
    Best Regards

    Hi,
    You can create a Queue programmatically. Once you've created a QueueSession, there is a method - QueueSession.createQueue( String name ). Just notice the JavaDoc:
    "This facility is provided for the rare cases where clients need to dynamically manipulate queue identity. It allows the creation of a queue identity with a provider-specific name. Clients that depend on this ability are not portable.
    Note that this method is not for creating the physical queue. The physical creation of queues is an administrative task and is not to be initiated by the JMS API. The one exception is the creation of temporary queues, which is accomplished with the createTemporaryQueue method."
    I hope this helps?
    Regards,
    J.

  • ODI XML data server error while creating External databse tables.

    Hi,
    i am trying to create External database tables using XML data server.
    i am getting the following error,i have done this same thing for small xml files before.
    Java.sql.SQLException: ORA-00904: : invalid identifier
         at com.sunopsis.jdbc.driver.xml.bz.execute(bz.java)
         at com.sunopsis.jdbc.driver.xml.ca.execute(ca.java)
         at com.sunopsis.xmlfifth.b.u.a(u.java)
         at com.sunopsis.xmlfifth.b.bj.a(bj.java)
         at com.sunopsis.xmlfifth.b.bj.a(bj.java)
         at com.sunopsis.jdbc.driver.xml.u.a(u.java)
         at com.sunopsis.jdbc.driver.xml.u.g(u.java)
    Thanks,
    RK

    RK,
    With no details of how you configured the XML server, what were the parameters used in the configuration for using external database, etc, I dont know how much can someone help you.
    This is an Oracle error, so a few things that could be problematic with your "big" xml -
    1.) An element name could be of length > 30 characters (Oracle table name length limit is 30)
    2.) There are some special characters in the element name
    3.) Element name begins with a Number
    4.) Element name is an Oracle reserved word.
    This list can go on.

  • Connection Problem To "JMS Queue XML"

    Hi.
    I can't connect to the JMS Queue XML.While Creating Data Server using the JMS XML Queue Technology pointing to WLS and the XML document type definition (dtd ) file books.dtd is provided from the local(C:\Documents and Settings\348773\Desktop\XML FILES) directory. The connection details are as below:-
    Definition Tab:
    Connection:
    User: userXXX
    Password: passYYY
    These are user name and password for the application server
    JNDI tab:
    JNDI Authorization: None
    JNDI User/password (same as above)
    JNDI Protocol: Undefined
    JNDI Driver: weblogic.jndi.WLInitialContextFactory
    JNDI URL: http://172.18.41.47:7001?d=C:\Documents and Settings\348773\Desktop\XML FILES\books.dtd&JMS_DESTINATION=jms/demoQueue
    JNDI Resource:eis/ConnFact/Queue
    FYI:-I h'v just copy and pasted the value of JNDI Driver(weblogic.jndi.WLInitialContextFactory) from a document because I don't know how to find the JNDI drivers name for WLS.I think it is a default name.If I'm wrong then Please tell me how to find it.when I test the connection it shows an error like this:-
    java.sql.SQLException: Cannot load connection class because of underlying exception: 'java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: ODI-40201: Cannot create the initial JNDI context)'.'.
         at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:133)
         at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
         at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1118)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.getLocalConnect(SnpsDialogTestConnet.java:420)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.localConnect(SnpsDialogTestConnet.java:860)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.jButtonTest_ActionPerformed(SnpsDialogTestConnet.java:806)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.connEtoC1(SnpsDialogTestConnet.java:165)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.access$1(SnpsDialogTestConnet.java:161)
         at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$IvjEventHandler.actionPerformed(SnpsDialogTestConnet.java:111)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2319)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2042)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2101)
         at java.awt.Component.dispatchEvent(Component.java:4483)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2479)
         at java.awt.Component.dispatchEvent(Component.java:4483)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:604)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:618)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:175)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:162)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.sql.SQLException: Cannot load connection class because of underlying exception: 'java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: ODI-40201: Cannot create the initial JNDI context)'.'.
         at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:133)
         at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
         at oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter.getConnection(OnConnectOnDisconnectDataSourceAdapter.java:74)
         at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter$ConnectionProcessor.run(LoginTimeoutDatasourceAdapter.java:217)
         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:139)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: java.sql.SQLException: Cannot load connection class because of underlying exception: 'java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: ODI-40201: Cannot create the initial JNDI context)'.'.
         at com.sunopsis.jdbc.driver.JMSXMLDriver.connect(JMSXMLDriver.java:113)
         at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:409)
         at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:385)
         at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:352)
         at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:331)
         ... 7 more
    Caused by: java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: ODI-40201: Cannot create the initial JNDI context)'.
         at com.sunopsis.jdbc.driver.JMSXMLConnection.<init>(JMSXMLConnection.java:295)
         at com.sunopsis.jdbc.driver.JMSXMLDriver.connect(JMSXMLDriver.java:99)
         ... 11 more
    So,
    please advise
    Thanks
    Anindya

    Hi,
    Hope till now you might have solved this problem.
    If not lets do  this below workout , we had same kind of problem.
    in JNDI tab , you have JNDI authentication, this authentication is for JNDI resources, I am sure you might be using weblogic credentials.
    Steps :
    1. Clear JNDI User : Blank (No value)
    2. Clear Password : Blank (No Value)
    3. set JNDI Authentication as None, regenerate the scenario and check
    For accessing JNDI responses , JMS XML Queue uses Connection parameters from Definition tab.
    Hope this helps

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • XML Data Server Problem

    I am trying to setup an XML data server and can't get passed the error: java.sql.SQLException: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
    I have placed my xml file in the odi\demo directory where the sample files are and it doesn't seem to help. Here is the url I'm using: jdbc:snps:xml?f=../demo/xml/sample-incident-report1.xml
    This url does not give the errors and connects w/o a problem: jdbc:snps:xml?f=../demo/xml/salesorg.xml
    Same directory, one gives the error and one does not.
    Thanks for any help.

    It seems that anything a little complex causes this error. I've tested with relatively flat xml documents and don't encounter the problem.

  • XML Data Server Trouble

    I Re: New ODI User having trouble creating an XML Data Source... a couple of weeks ago regarding some troubles I've been having inserting an XML Data Server in the Topology Manager. Unfortunately I'm still having some problems. I thought I'd start a new thread with more detail than the last. Thanks for the responses in advance.
    I followed this guide: [ODI XML to Database Transformation|http://www.oracle.com/technology/obe/fusion_middleware/ODI/ODIXML_to_DB_Transform/ODIXML_to_DB_Transform.htm] , which was helpful, but since it used example XML files it did not go into how to use your own custom XML file.
    Let me start off by sharing the XSD file I'm using:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://insurance.oracle.com/schema/Money"
        xmlns:tns="http://insurance.oracle.com/schema/Money"
        elementFormDefault="qualified">
        <xs:element name="MoneyInReport" type="tns:ReportType"></xs:element>
        <xs:element name="MoneyOutReport" type="tns:ReportType"/>
        <xs:element name="Money" type="tns:MoneyType"/>
        <xs:complexType name="ReportType">
            <xs:sequence>
                <xs:element name="Money" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="MoneyType">
            <xs:sequence>
                <xs:element name="MoneyID" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>A unique identifier for this transaction.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ContractID" type="xs:string">
                    <xs:annotation>
                        <xs:documentation>Since OIPA will be providing the contract data to RMB initially this will the OIPA key.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="EffectiveDate" type="xs:dateTime">
                    <xs:annotation>
                        <xs:documentation>The date the money should be applied to the policy.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="MessageDate" type="xs:dateTime">
                    <xs:annotation>
                        <xs:documentation>The date this message was created.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ReversalIndicator" type="xs:boolean">
                      <xs:annotation>
                          <xs:documentation>If true, then a reversal of a previous Money event.  In this case, the PriorMoneyID must be populated.</xs:documentation>
                      </xs:annotation>
                </xs:element>
                <xs:element name="PriorMoneyID" type="xs:string" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>If populated, must contain the value of a prior MoneyID record being reversed.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Amount" type="xs:decimal"/>
                <xs:element name="MoneyType" type="xs:integer">
                    <xs:annotation>
                        <xs:documentation>The money type code for this record.  Loosely corresponds to the purpose of the money as opposed to its source. A final list of money types is TBD.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ExchangeDetails" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>These tags provide additional details when the MoneyType indicates a 1035 Exchange.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="CostBasis" type="xs:decimal"/>
                            <xs:element name="ExchangeType" type="xs:integer"/>
                            <xs:element name="MEC" type="xs:boolean"/>
                            <xs:element name="LoanAmount" type="xs:decimal"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>Here is the "Sample XML" file that I generated based on this XSD file using Oxygen XML Editor:
    <?xml version="1.0" encoding="UTF-8"?>
    <Money xmlns="http://insurance.oracle.com/schema/Money"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://insurance.oracle.com/schema/Money file:/C:/OraHome_1/oracledi/demo/xml/Money.xsd">
        <MoneyID>MoneyID0</MoneyID>
        <ContractID>ContractID0</ContractID>
        <EffectiveDate>2006-05-04T18:13:51.0Z</EffectiveDate>
        <MessageDate>2006-05-04T18:13:51.0Z</MessageDate>
        <ReversalIndicator>false</ReversalIndicator>
        <PriorMoneyID>PriorMoneyID0</PriorMoneyID>
        <Amount>0</Amount>
        <MoneyType>0</MoneyType>
        <ExchangeDetails>
            <CostBasis>0</CostBasis>
            <ExchangeType>0</ExchangeType>
            <MEC>false</MEC>
            <LoanAmount>0</LoanAmount>
        </ExchangeDetails>
    </Money>So I go into Topology, select the "Physical Architecture" tab, right click "XML", click "Insert Data Server". I name my file "XML_MONEY", select the JDBC tab, and fill in the following fields:
    JDBC Driver: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    JDBC Url: jdbc:snps:xml?f=../demo/xml/Money.xml
    When I hit "Test", it gives me this annoying message:
    java.sql.SQLException: Could not generate the DTD because the file could not be created. Verify that you have write permission in the directory.
    I have no idea why. I definitely have permissions to write to that directory.
    Following the advice in my previous threads, I tried some new JDBC Url values. Here are the results:
    jdbc:snps:xml?d=../demo/xml/MONEY.xml&s=MONEY&rt=MONEY&ro=false
    This gives me a "Successful Connection", however when I try to add a New Model and Reverse it, it does not generate any data. (Sometimes this gives me an error, other times it seems to "work" but generates no data/tables).
    jdbc:snps:xml?d=../demo/xml/MONEY.xsd&s=MONEY&f=../demo/xml/MONEY.XML
    This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
    jdbc:snps:xml?d=../demo/xml/Money.xsd
    This gives me the following error: java.lang.ArrayIndexOutOfBoundsException: 1
    Does anyone know what I'm doing wrong here? I even tried following Sai Praneeth's example (from my Re: New ODI User having trouble creating an XML Data Source... thread) with his exact simple xml file, and that works fine. Is there something wrong with my XSD file? ANY help would be appreciated, as I'm completely lost. Thank you.

    I have some Interface Mapping questions I was hoping someone could help me with. As you know, my source is an XML File and my target is an OracleDB. I'll start with the "EFFECTIVEDATE" field which was automatically mapped when I added the Source and Target Datastores. As I previously mentioned, this caused an error "Target Column EFFECTIVEDATE: Data may be truncated: the target Column is smaller than the source Column". After looking further into it, would the problem be that the "EFFECTIVEDATE" datatype in the XML is "DATETIME" whereas the "EFFECTIVEDATE" datatype in the database is "TIMESTAMP"? If so, what would be the fix for this? Could I convert it in the Implemenation Mapping like so? -
    CONVERT(MONEY.EFFECTIVEDATE,TIMESTAMP)
    Would using that in the Implementation simply do the trick?
    Anyway, moving onto some of the other TARGET fields...
    -ACTIVITYGUID
    This should be an automatically generated new GUID value. How could I implement this into the Implementation?
    -TRANSACTIONGUID
    I'll need to query some of the other tables in the database in order to get this value. Is this allowed in the Implemenation? Do I have to add said tables to the target somehow? Can I just query the other tables in the Implementation field using normal select statements, etc.? I'm a bit confused on how this would work...
    -TYPECODE
    This needs to be a fixed value of '01'. How do I simply do that in the Implementation?
    The other fields will all be implemented similar to the above so those are the main questions I have for now. Any help would be appreciated.
    Thanks again for your help.

  • XML Data Server and model help

    All,
    I have the following files
    1) travel.dtd
    2) travel.xml.
    I've set up a XML data server with JDBC driver com.sunopsis.jdbc.driver.xml.SnpsXmlDriver and URL = jdbc:snps:xml?d=c:/XML/travel.dtd. I have created a model in designer and have successfully reversed the datastores generated from the dtd.
    The travel.xml file has data populated within it, but when I right click on the datastores, there is nothing displayed. This makes sense because the xml server is configured to point at the .dtd. Do I need to change my topology connection to connect to the xml document as opposed to the dtd. Can someone tell me what i'm missing?
    thanks for your help.

    Since its not displaying anything as you are saying you just change the property to "f" and check.
    Example
    jdbc:snps:xml?f=/xml/myxml.xml&d=/xml/myxcd.xsd&s=MYSCHEMANAME
    ("s=MYSCHEMANAME": This schema will be selected when creating the physical schema under the XML data server.)
    Hope it helps.
    Thanks

  • Creating xml data server in topology manager

    I am trying to create xml data server in topology manager.I mentioned all the required parameters in the jdbc Url.When i test the connection its giving this error
    java.sql.SQLException: class org.xml.sax.SAXParseException
    Relative URI "DEPARTMENTS.dtd"; can not be resolved without a base URI.
    I have mentioned absolute paths for both xml and dtd files.

    It's lokks like error structure in your xml file. Check it, open by IE and so on...
    See my connection string also:
    jdbc:snps:xml?f=../demo/xml/1/GEO_DIM_UPD.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true

  • Post XML event to a JMS queue on another server

    Hi All,
    How do post an XML event to a JMS queue that is registered on another server
    from the studio?.
    This functionality supposed to be available in WLI 2.0 as an enhancement
    from WLPI 1.2.1.
    Any ideas?
    - Jagdish

    Jagdish
    Sorry, I am on vacation and trying to have some time to myself. If the
    Topic or Queue is on another server in a cluster then you use the JNDI name,
    however, if it not available via JNDI then you need to write some code to
    connect to the remote machine and do it that way.
    Tony
    "Jagdish" <[email protected]> wrote in message
    news:[email protected]..
    Hi Tony,
    Can one of you guys reply to this please?
    - Jagdish
    "Jagdish" <[email protected]> wrote in message
    news:3b6ac305$[email protected]..
    Hi All,
    How do post an XML event to a JMS queue that is registered on anotherserver
    from the studio?.
    This functionality supposed to be available in WLI 2.0 as an enhancement
    from WLPI 1.2.1.
    Any ideas?
    - Jagdish

  • 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)

Maybe you are looking for

  • A question about Web Application Designer 7.0

    Now i am using WAD 7.0 and would like to get sum of each column from a query. I have put a analyse_item_1 in the web template. Could someone tell me how i can get sum from each column? thanks!

  • Display Standard Program Graphic Report in Adobe Form

    Hi All, I'm new this field and really need you all expertise.. I have requirement which is to display Standard Program SAP Business Graphic Report (eg: Profile Matchup) in Adobe Form. I also have read this blog but there is something i'm not clear...

  • OCA 10g for DBA

    Hi, I'm planning to take the exam OCA 10g for DBA. I'm wondering which books you would recommend me as a good reference. I think I will try 1Z0-007 and 1Z0-042 (as a mandatory one) If 1Z0-007 exam is a good choice? I bought a book: OCA/OCP: Introduct

  • Alt+Tab broken in full screen mode

    Hi, I generally use lightroom in full screen mode where the title and menu bar are both hidden. However, when in this mode I find using Alt+Tab is broken. For example, say I have LR as the foreground application. I press Alt+Tab and switch to another

  • How do you change the phone number associated with apple id

    I bought my wife an IPad 2 and when setting it up it said I could change the phone number later in settings.   Now when I get a text-- she gets a copy on her IPad.   I can't see where in settings to change this to her phone number.