JMS Queue XML: Elements with same name

Hi
I notice that ODI does not do a good job of reverse-engineering JMS queue models where an element name is referenced in different parts of the schema.
For example:
root
..body
...consignment
....load
.....event
....unload
.....event
etc
In the above, ODI will reverse-engineer the 'event' element under 'load', but not the one under 'unload'.
I don't have control over the xsd models and was therefore wondering if there is some sort of workaround I can perform in this scenario?
Cheers

Actually, I just found the following Oracle note sums this up: 757642.1
Is it possible to use the SAME ELEMENT as a SUB-ELEMENT in multiple DIFFERENT Elements of an XML File?
If so, what is the impact of this approach on the reverse engineered Model and Datastores and how can Integration Interfaces be set up to map these identical ELEMENT for which the content is semantically different and as a result to be used differently in different Oracle Data Integrator (ODI) Integration Interfaces.
The following XML is a simple example in which the ITEM Element is logically set as a sub-element to three other XML Elements:
•Shoppinglist
•GroceryStore
•HardwareStore
<Shoppinglist>
<Item>ShoppingList</Item>
<GroceryStore>
<Item>Eggs</Item>
<Item>Milk</Item>
<Item>Bread</Item>
</GroceryStore>
<HardwareStore>
<Item>Screwdriver</Item>
<Item>Hammer</Item>
<Item>Nails</Item>
</HardwareStore>
</Shoppinglist>Solution
Such an approach must be avoided. This is a strict limitation of the ODI XML Driver.
See Bug:8563428 DUPLICATE SUBELEMENTS WITH DIFFERETNT TYPES ARE NOT SUPPORTED BY XML DRIVER

Similar Messages

  • Can i have xml elements with same name but one is having attrbt..?

    Hi all,
    I am suppose to take input from one system into BPEL.That system is auto gererating xml file. But that file is strange. It has two xml element with
    same name but with completely different sequence. First one is having two comlexTypes while second is having 5 simple types.
    Now the difference is First element is having attribute while second is not.
    So is that file is correct.?
    thanks a lot.
    /mishit

    can you post the file? or load the file into JDeveloper and check the syntax or use XMLSpy for validation of the XML.

  • Accessing multiple xml elements with same name

    I am having trouble with an xsl stylesheet. This is what one of the rows of my output xml document looks like
            <Row>
                <Num>1</Num>
                <Valuation>Val</Valuation>
                <COMBCHARFLAG>Y</COMBCHARFLAG>
                <CCCOUNT>2</CCCOUNT>
                <CCDESC>CHARDESC1</CCDESC>
                <CCDESC>CHARDESC2</CCDESC>
            </Row>
    Does anyone know how I can access the 2nd CCDESC ("CHARDESC2") . When i run this in the workbench I can only ever access the first CCDESC, it acts like the 2nd isn't there. However I was also using a 3rd party xsl editor called "XMLSpy" to look for other possible solutions and when i render it with XMLSpy, everything is displaying correctly. Is this some sort of limitation of the workbench? Any help would be much appreciated. Thanks
    This is the template i am calling in my xsl.......
    <xsl:template name="for.loop">
    <xsl:param name="i" />
    <xsl:param name="count" />
    <!--begin_: Line_by_Line_Output -->
    <xsl:if test="$i &lt;= $count">
    <tr>
         <td align="center"><xsl:value-of select="CCDESC[position()=$i]"/>
         </td>
         <td align="center">
              <input style="width:110px;" class="Mfieldv-M" name="txtValuation"></input>
         </td>
    </tr>     
    </xsl:if>
    <!begin_: RepeatTheLoopUntilFinished>
    <xsl:if test="$i &lt;= $count">
    <xsl:call-template name="for.loop">
    <xsl:with-param name="i">
    <xsl:value-of select="$i + 1"/>
    </xsl:with-param>
    <xsl:with-param name="count">
    <xsl:value-of select="$count"/>
    </xsl:with-param>
    </xsl:call-template>
    </xsl:if>
    I than call the template as follows from within my  <xsl:for-each select="Row"> statement
                                                                <xsl:call-template name="for.loop">
                                                                <xsl:with-param name="i">1</xsl:with-param>
                                                                <xsl:with-param name="count"><xsl:value-of select="CCCOUNT"/></xsl:with-param>
                                                                </xsl:call-template>

    Muzammil,
    Thanks for the response. I may have explained my situation a little poorly. I am not trying to access the 2nd CCDESC within the workbench via a repeater or such. It is after the XSL renders the page that I don't see the second CCDESC. When the XSL renders the page through Internet explorer i get something that looks like the following......
    Res # 1
    CHARDESC1 
    When I render it in the application XMLSpy it shows both CCDESC's like follows.
    Res # 1
    CHARDESC1 
    CHARDESC2
    In XMLSpy if i change the line of xsl code from      <td align="center"><xsl:value-of select="CCDESC[position()=$i]"/>  to       <td align="center"><xsl:value-of select="CCDESC[2]"/> the page is rendered in XMLSpy with both labels the same as follows.
    Res # 1
    CHARDESC2 
    CHARDESC2
    If i do that same change in the workbench and render the page through IE I get no label results....
    Res # 1
    Thanks

  • Append XML elements with same name in an XML document

    Hi,
    I am using Oracle9i XMLDB utilities to modify an XML document stored in the database. I have a sample XML document like this in the database:
    <Person>
    <Address ID="1"> </Address>
    </Person>
    My task is to include a second <Address> element with a different attribute so that my XML document will become
    <Person>
    <Address ID="1"> </Address>
    <Address ID="2"> </Address>
    </Person>
    After creating the second element, I am using the function xmldom.appendChild() or xmldom.insertBefore() but they remove the first <Address> element and replace it with the second one. This is not what I want since I want both <Address> elements to be present.
    Could anyone please advise.
    Thanks.
    A. Dennis

    Please post your question [url http://forums.oracle.com/forums/forum.jsp?forum=154]here for quick response.
    thank you.
    Regards,
    Anupama
    [url http://otn.oracle.com/sample_code/]OTN Sample Code

  • Writing schema for multiple elements with same name with diff. content

    following is the XML file,
    <?xml version="1.0" encoding="utf-8"?>
    <e-abstract xmlns="http://www.citicorp.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="Deed.xsd">
    <deed>
    <deed_type>
    <deedtyp name="Quit Claim" value="Q" />
    <deedtyp name="sheriff's deed" value="Sheriff" />
    <deedtyp name="Warranty" value="W" />
    </deed_type>
    <deed>
    </e-abstract>
    --- end----
    in this I have 3 elements of deedtyp , how i can write them in .xsd file as these elements have same name?Please help, if u have idea about this...
    i have written .xsd up to deed_type,
    ----Deed.xsd----
    <? xml version="1.0" encoding="UTF-8" ?>
    <xs:schema xmlns:xs="http://www.citicorp/2001/XMLSchema"
    targetNamespace="http://www.citicorp.com"
    xmlns="http://www.citicorp.com"
    elementFormDefault="qualified">
    <xs:element name="deed_type" type="string" use="required"/>
    <xs:simpleType name="string">
    <xs:restriction base="xs:string">
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>

    I don't know the exact and complete specification of your intended schema...
    anyway, from what I can see in your post, I assume that
    <deed>
        <deed_type>
            <name>Quit Claim</name>
            <value>Sheriff</name>
        </deed_type>
        <deed_type>
            <name>sheriff's deed</name>
            <value>Sheriff</value>
        </deed_type>
        <deed_type>
            <name>Warranty</name>
            <value>W</name>
        </deed_type>
    </deed>would be the "proper" way to go...
    which makes your "deed_type" a complexType, including a sequence of two kinds of xs:string elements : "name" and "value"

  • How to get the second element in XML Response with same name

    Hi All,
    I am struck at this point, I have written a sample HTTP client which sends a request to the HTTP Server. In response to the request made the HTTP Server gives response in the XML format. eg: -
    <?xml version="1.0"?>
    <parent>
    <node1> Value1 </node1>
    <node1> Value2 </node1>
    <node2> Value3 </node2>
    </parent>
    In the HTTP Client I am getting the value of node1 using the following statement: -
    if (node instanceof Element && "node1".equals(((Element)node).getName()) )
    String node1 = node.getStringValue();
    System.out.println("Product Code:"+node1);
    This is always returning the first node1 value i.e. <node1> Value1 </node1>.
    The requirement is, I also need to get the <node1> Value2 </node1> value also. So can anyone tell me hw can I get the <node1> Value2 </node1> value. please tell me the piece of code that I should add to get the <node1> Value2 </node1>.
    My Mode is something like this: -
    try
                   Document document = (Document)DocumentHelper.parseText(response);
                   List<Node> transactionNodeList = document.selectNodes( "//parent" );
                   for(Node singleNode:transactionNodeList)
                        for(int i=0,j=0;i< ((Element)singleNode).nodeCount();i++ )
                             Node node = ((Element)singleNode).node(i);
                             if (node instanceof Element && "node1".equals(((Element)node).getName()) )
    node1= node.getStringValue();
    System.out.println("Air Way Bill Number:"+node1);
    if (node instanceof Element && "node1".equals(((Element)node).getName()) )
    node1= node.getStringValue();
    System.out.println("Product Code:"+node1);
    Thanks in Advance

    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder db=factory.newDocumentBuilder();
         Document doc=db.parse(new File(ur xml file"));
         Element root=doc.getDocumentElement();
         System.out.println("root "+root.getNodeName());

  • Reading the next element with sam name

    Hi,
    i have xml file which looks like
    <Response>
    <params>
    <param>
    <value><array><data><value><string>ok</string></value>
    <value><string>41408241257406373</string></value>
    </data></array></value>
    </param>
    </params>
    </Response>
    I need the value of element string which i am reading now using
    <string>ok</string>
    using
    xmldom.getfirstchild
    But problem is how to read the next one as its tag name is also the same?
    <string>41408241257406373</string>
    thanks,
    7Z

    sorry if I was not clear.
    I call soap request and get a XML response
    <Response>
    <params>
    <param>
    <value><array><data><value>
    <string>ok</string>
    </value>
    <value>
    <string>41408241257406373</string>
    </value>
    </data></array></value>
    </param>
    </params>
    </Response>
    I have already funtion by using dom that read the first tag and work fine.
    But for this XML
    <string>ok</string>                                             ----string tag
    <string>41408241257406373</string>              -----string
    it is
    function gettvalue(p_node dbms_xmldom.domdocument, p_tag in varchar2)
       return varchar2
       is
          t_node       dbms_xmldom.domnode;
          t_child_node dbms_xmldom.domnode;
       begin
          t_node       := xmldom.item (xmldom.getelementsbytagname(p_node,  p_tag), 0);
          if xmldom.isnull(t_node)
          then
             return null;
          end if;
          t_child_node := xmldom.getfirstchild (t_node);
          if xmldom.isnull(t_child_node)
          then
             return null;
          else
             return xmldom.getnodevalue(t_child_node);
          end if;
       end;
    it is not reading the second element.
    thanks for help.
    odie_63

  • Concatenate elements with same name in sequence

    version 9.2
    I have a clob column containing xml - unregistered
    Some of the old xml has multiple <notes> elements and the new xml has one <notes> element. I have made a view that successfully extracts the xml from the column and it works great, but when I have multiple <notes> elements the view fails since I am using extractvalue(). I need to select the <notes> tags concatenated into one column in sequence when I have multiples. I am guessing the sequence should be as they appear in the xml document from top to bottom since there is no sequence attribute. I know how to use xmlsequence and xmltable to get the individual <notes> tags but they are not concatenated. Is there a magic xmlsequence/concatenation function that will do what I want here?
    -- old xml
    <Accident>
       <Case>
          <TRACS_Case_Number Value="7777777"/>
          <Notes>V-1 AND V-2 N/B TRANSIT RD (ST 78\) SLOWING TO MERGE INTO TRAFFIC.  V-3 N/B TRANSIT RD. </Notes>
          <Notes>STRIKES V-2 IN REAR AND PUSHES V-2 INTO V-1 STRIKING V-1 IN REAR WITH FRONT OF V-2 .  </Notes>
          <Notes>NO INJURIES.</Notes>
       </Case>
    </Accident>-- new xml
    <Accident>
       <Case>
          <TRACS_Case_Number Value="7777777"/>
          <Notes>V-1 AND V-2 N/B TRANSIT RD (ST 78) SLOWING TO MERGE INTO TRAFFIC.  V-3 N/B TRANSIT RD. STRIKES V-2 IN REAR AND PUSHES V-2 INTO V-1 STRIKING V-1 IN REAR WITH FRONT OF V-2 .  NO INJURIES.</Notes>
       </Case>
    </Accident>I am also trying to register this xml to improve performance. However, when I see things like this in the xml I wonder what will happen when I try to register this xml. The DTD, I have no XSD, currently only supports one <notes> tag. Do I have to clean up all the xml in column to match the current DTD before registering? I could also use a good, EASY, example of how to register a schema.
    Thanks...

    You can use the string aggregation technique to concatenate the Notes element.
    sql> WITH xmltable AS
      2    (SELECT xmltype('<Accident>
      3     <Case>
      4        <TRACS_Case_Number Value="7777777"/>
      5        <Notes>V-1 AND V-2 N/B TRANSIT RD (ST 78\) SLOWING TO MERGE INTO TRAFFIC.  V-3 N/B TRANSIT RD. </Notes>
      6        <Notes>STRIKES V-2 IN REAR AND PUSHES V-2 INTO V-1 STRIKING V-1 IN REAR WITH FRONT OF V-2 .  </Notes>
      7        <Notes>NO INJURIES.</Notes>
      8     </Case>
      9  </Accident>') xmlcol
    10     FROM dual)
    11  SELECT SUBSTR(replace(MAX(sys_connect_by_path(notes,   ':')),':',' '),   2) Notes
    12  FROM
    13    (SELECT extractvalue(t.column_value,    '/Notes/text()') notes,
    14       rownum rn
    15     FROM xmltable xt,
    16       TABLE(xmlsequence(EXTRACT(xmlcol,    'Accident/Case/Notes'))) t)
    17  CONNECT BY PRIOR rn = rn -1 START WITH rn = 1;
    NOTES
    V-1 AND V-2 N/B TRANSIT RD (ST 78\) SLOWING TO MERGE INTO TRAFFIC.  V-3 N/B TRANSIT RD.  STRIKES V-2 IN REAR AND PUSHES
    G V-1 IN REAR WITH FRONT OF V-2 .       NO INJURIES.

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

  • Source XML Structure-Two Nodes with same names

    Hi All,
    I have a strange situation. I am doing a Webservice to RFC scenario. The Third party vendor provided me with the Source XML fro me to create the datatype.
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope version="01.00">
           <Sender>
                 <Id></Id>
                 <Credential></Credential>
           </Sender>
           <Recipient>
                 <Id></Id>
           </Recipient>
           <TransactInfo transactType="data">
                 <TransactId></TransactId>
                 <TimeStamp></TimeStamp>
           </TransactInfo>
           <Packet>
                 <PacketInfo packetType="data">
                        <PacketId>1</PacketId>
                        <Action></Action>
                        <Manifest></Manifest>
                 </PacketInfo>
                 <Payload><![CDATA[<?xml version="1.0"?>
    <DATA_1>
           <FIELD1></FIELD1>
           <FIELD2></FIELD2>
           <FIELD3></FIELD3>
           <FIELD4></FIELD4>
           <FIELD5></FIELD5>
    </DATA_1>]]></Payload>
           </Packet>
           <Packet>
                 <PacketInfo packetType="data">
                        <PacketId>2</PacketId>
                        <Action></Action>
                        <Manifest></Manifest>
                 </PacketInfo>
                 <Payload><![CDATA[<DATA_2 language="en">
         <FIELD1></FIELD1>
            <FIELD2></FIELD2>
            <FIELD3></FIELD3>
            <FIELD4></FIELD4>
            <FIELD5></FIELD5>
    </DATA_2>]]></Payload>
           </Packet>
    </Envelope>
    As We see Above, There are 2 Nodes named "Packet" at the Same level.
    So When I try to create my datatype in XI based on this XML, XI wont allow to create 2 nodes with same names at the same level.
    We asked the vendor to change the name of the second Packet to Packet_1, they told they cant change it.
    Is there a way in XI to handle this issue??. ie to create 2 nodes with the same name at the same level??
    Thanks,
    Harsh

    Hi,
    Thats's funy, web service is exposed by PI... but it's the thirdparty (client of our web service server) who imposes their choice for structure !! Inversed world.
    Either in Data Type, you define the "Packet" node with an occurence 0..N (or at least 0..2). That will allow you to have the 2 desired nodes by your third-party !
    Or... as your third-party does not want to chance something in their side, that means they probably already have such a web service and so a WSDL file or an XSD of this structure... So ask to them to provide you this WSDL, and you, you will use it as an External Def.
    regards.
    mickael

  • 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

  • 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

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

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

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

  • ODI 11g : JMS Queue XML Data Server creation

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

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

  • Passing multiple URL parameters with same name

    Hi,
    I have a question which is not entirely related to Java. But although its related HTTP calls, so I thought I might get some ideas here.
    Background:
    I am making HTTP URL call from SAP ABAP code. Its pretty much similar to Java (creating URL connection, setting HTTP headers, connecting, receiving response and everything)
    For example,
    http://service_server:8080/a7/extension.services.SearchRequirements.a7x?RequestStatus=CR&RequestStatus=RR
    Now, this service_server runs a query to database where it uses both these values of "RequestStatus" to form 'OR' condition for a field.
    Issue:
    When I run this URL from browser, it shows XML response containing results for both values. In short, this is the ideal response.
    (I am using getParameterValues(string) at service_server to read multiple values for same parameter)
    But when I see response in SAP system, I see that it is returning data for only one value of 'RequestStatus'.
    I checked the logs of service_server, and I see that it has received only one parameter, not two.
    Question:
    It seems like SAP systems web server is truncating both parameters with same name and passing just one of them to outside server(??)
    Is there any configuration at Web Server side or any HTTP headers to be set so as to avoid this?
    Can anybody suggest something on this?

    I managed to resolve this issue by using HTTP 'Post' method to send the data.
    CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
        EXPORTING
          URL                = L_URL
        IMPORTING
          CLIENT             = L_HTTP_CLIENT
        EXCEPTIONS
          ARGUMENT_NOT_FOUND = 1
          PLUGIN_NOT_ACTIVE  = 2
          INTERNAL_ERROR     = 3
          OTHERS             = 4 .
    "STEP-2 :  AUTHENTICATE HTTP CLIENT
    CALL METHOD L_HTTP_CLIENT->AUTHENTICATE
      EXPORTING
        USERNAME             = 'name'
        PASSWORD             = 'password'.
    "STEP-3 :  SET HTTP HEADERS
    CALL METHOD L_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
          EXPORTING NAME  = 'Accept'
                    VALUE = 'text/xml'.
    CALL METHOD L_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
        EXPORTING NAME  = '~request_method'
                   VALUE = 'POST' .
    CALL METHOD L_HTTP_CLIENT->REQUEST->SET_CONTENT_TYPE
        EXPORTING CONTENT_TYPE  = 'application/x-www-form-urlencoded' .
    "SETTING REQUEST DATA FOR 'POST' METHOD
    IF L_PARAMS_STRING IS NOT INITIAL.
       CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
         EXPORTING
             TEXT   = L_PARAMS_STRING
         IMPORTING
               BUFFER = L_PARAMS_XSTRING
         EXCEPTIONS
            FAILED = 1
            OTHERS = 2.
    CALL METHOD L_HTTP_CLIENT->REQUEST->SET_DATA
        EXPORTING DATA  = L_PARAMS_XSTRING  .
    ENDIF.
    "STEP-4 :  SEND HTTP REQUEST
      CALL METHOD L_HTTP_CLIENT->SEND
        EXCEPTIONS
          HTTP_COMMUNICATION_FAILURE = 1
          HTTP_INVALID_STATE         = 2.
    "STEP-5 :  GET HTTP RESPONSE
        CALL METHOD L_HTTP_CLIENT->RECEIVE
          EXCEPTIONS
            HTTP_COMMUNICATION_FAILURE = 1
            HTTP_INVALID_STATE         = 2
            HTTP_PROCESSING_FAILED     = 3.
    "STEP-6 :  READ RESPONSE DATA
    CALL METHOD L_HTTP_CLIENT->RESPONSE->GET_CDATA
            RECEIVING DATA = L_RESULT .
    "STEP-7 : CLOSE CONNECTION
    CALL METHOD L_HTTP_CLIENT->CLOSE
      EXCEPTIONS
        HTTP_INVALID_STATE = 1
        OTHERS             = 2   .
    {code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for

  • Creating a report from Microsoft AD LDS

    I'm trying to create a report (a list of users basically) from a Microsoft AD LDS on Windows 2008. The solution c2016008 describes a way to connect to a AD source using NT authentication, which isn't an viable option in this case. I figure I could us

  • Can't get Ipod to show up on Itunes

    Can't get ipod to show up on Itunes

  • Scenario data seems to be deleted unknowingly.

    Hello, Last week I had to make "Loacation" dimension in database-A to be identical to database-B. I deleted all the children of "Location" dimension in database-A and then copy/pasted the children from database-B. I restructured and rebuilt the cube

  • /SAPAPO/SYSDIR - Entry not found for Logical System

    Hi Guys... I have upgraded a new SCM 5.0 box from a database copy of APO Production. Ran the BDLS to convert the logical system pointing to Quality box. The challenge I am facing is to define a Distribution Definition in SPRO for Planned Independent

  • CD/DVD Printing on C309a

    Please someone save me from the countless head bashings I am giving myself trying to solve this problem - that really should be no problem at all! I cannot get this printer to print directly onto a Cd/DVD.  I have just changed computers and remember