1 2 3 Previous Next 34 Replies Latest reply on May 16, 2011 7:28 PM by Mike Reiche-Oracle

    FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col

    user738507
      I have an ODSI Physical Service that is based on a Java Function. The Java Function builds a SQL statement and uses JDBC to query for a ResultSet. One of the columns that is queried is a Clob. Sometimes, the data in this column causes an XMLBeans validation exception in ODSI: {err}XQ0027: Validation failed: error: decimal: Invalid decimal value: unexpected char '114'

      The issue is not consistently replicable with particular database record, the database records that present this issue at one point in time will be resolved after a restart of ODSI and replaced by another list of records that present the same error.

      As can be seen from the stack trace, it looks like the issue is happening after the database query has returned and while the process is assembling the SOAP response.

      Error at line:2 col:481 Line:2 '=' expected, got char[99]
      at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:241)
      at weblogic.xml.babel.scanner.OpenTag.read(OpenTag.java:60)
      at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:251)
      at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:178)
      at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:533)
      at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:510)
      at weblogic.xml.babel.baseparser.EndElement.parse(EndElement.java:34)
      at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:457)
      at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
      at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:195)
      at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)
      at weblogic.xml.stax.XMLEventReaderBase.parseSome(XMLEventReaderBase.java:189)
      at weblogic.xml.stax.XMLEventReaderBase.nextEvent(XMLEventReaderBase.java:122)
      at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:136)
      at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:124)
      at weblogic.xml.query.parsers.BufferedParser.fetchNext(BufferedParser.java:79)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:308)
      at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
      at weblogic.xml.query.schema.BestEffortValidatingIterator$OpenedIterator.hasNext(BestEffortValidatingIterator.java:224)
      at weblogic.xml.query.schema.ValidatingIterator.fetchNext(ValidatingIterator.java:82)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
      at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
      at weblogic.xml.query.schema.BestEffortValidatingIterator.fetchNext(BestEffortValidatingIterator.java:85)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
      at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
      at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:137)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at com.bea.dsp.wrappers.jf.JavaFunctionIterator.fetchNext(JavaFunctionIterator.java:273)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
      at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
      at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:247)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.runtime.core.ExecutionWrapper.fetchNext(ExecutionWrapper.java:88)
      at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
      at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
      at weblogic.xml.query.iterators.LegacyGenericIterator.hasNext(LegacyGenericIterator.java:130)
      at weblogic.xml.query.xdbc.util.Serializer.serializeItems(Serializer.java:251)
      at com.bea.ld.server.ResultPusher$DSP25CompatibilityPusher.next(ResultPusher.java:236)
      at com.bea.ld.server.ResultPusher.pushResults(ResultPusher.java:112)
      at com.bea.ld.server.XQueryInvocation.execute(XQueryInvocation.java:770)
      at com.bea.ld.EJBRequestHandler.invokeQueryInternal(EJBRequestHandler.java:624)
      at com.bea.ld.EJBRequestHandler.invokeOperationInternal(EJBRequestHandler.java:478)
      at com.bea.ld.EJBRequestHandler.invokeOperation(EJBRequestHandler.java:323)
      at com.bea.ld.ServerWrapperBean.invoke(ServerWrapperBean.java:153)
      at com.bea.ld.ServerWrapperBean.invokeOperation(ServerWrapperBean.java:80)
      at com.bea.ld.ServerWrapper_s9smk0_ELOImpl.invokeOperation(ServerWrapper_s9smk0_ELOImpl.java:63)
      at com.bea.dsp.ws.RoutingHandler$PriviledgedRunner.run(RoutingHandler.java:96)
      at com.bea.dsp.ws.RoutingHandler.handleResponse(RoutingHandler.java:217)
      at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:287)
      at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:271)
      at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:176)
      at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
      at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
      at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
      at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
      at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(Unknown Source)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

      <Apr 29, 2011 12:47:01 PM EDT> <Notice> <ODSI> <BEA-000000> <LabOrderDataServices> <Error occurred performing ODSI operation: {ld:LabOrder/logical/LabOrderReport}getLabOrderDetails:1
      weblogic.xml.query.exceptions.XQueryDynamicException: ld:LabOrder/logical/LabOrderReport.ds, line 34, column 6: {err}FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col:481 Line:2 '=' expected, got char[99]
      at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
      at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:147)
      at weblogic.xml.query.parsers.Parser.reportParseError(Parser.java:157)
      at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:225)
      at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:124)
      Truncated. see log file for complete stacktrace
      javax.xml.stream.XMLStreamException: Error at line:2 col:481 Line:2 '=' expected, got char[99]
      at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:206)
      at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)
      at weblogic.xml.stax.XMLEventReaderBase.parseSome(XMLEventReaderBase.java:189)
      at weblogic.xml.stax.XMLEventReaderBase.nextEvent(XMLEventReaderBase.java:122)
      at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:136)
      Truncated. see log file for complete stacktrace
      Error at line:2 col:481 Line:2 '=' expected, got char[99]
      at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:241)
      at weblogic.xml.babel.scanner.OpenTag.read(OpenTag.java:60)
      at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:251)
      at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:178)
      at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:533)
      Truncated. see log file for complete stacktrace
      >


      Can somebody shed some light on this issue?

      Thanks

      Edited by: user738507 on May 6, 2011 7:21 AM
        • 1. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
          Mike Reiche-Oracle
          "The Java Function builds a SQL statement and uses JDBC to query for a ResultSet. One of the columns that is queried is a Clob. "

          Not sure why you just don't let ODSI do this (?). Anyway...

          The stack trace is when ODSI is processing what your java function is returning -

          com.bea.dsp.wrappers.jf.JavaFunctionIterator.fetchNext

          Can you turn on ODSI auditing and capture what your java function is returning? Or simply add a System.out.println() to your java function? It would also be helpful to see your java function code. The physical ds might be helpful, too.

          I didn't understand the statement about the problem not being replicable. If the value returned from your Java function is the same, then the error should be the same.
          • 2. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
            user738507
            These first two examples that were extracted from report instance retrievals that resulted in the error

            Example 1:

            "Reference Range:
            <0.5 subnormal
            0.5-5.8 normal
            2.8-5.8 grey zone in old or symptomatic cats
            5.8 consistent with hyperthyroidism
            Cats with subnormal T4 values are almost exclusively euthyroid sick or
            overtreated for their hyperthyroidism. Older cats with consistent
            clinical signs and T4 values in the grey zone may have early
            hyperthyroidism or a concurrent non-thyroidal illness. Hyperthyroidism
            may be confirmed in these cats by adding on a free T4 by Equilibrium
            Dialysis or by performing a T3 suppression test. Following treatment
            with methimazole, T4 values will generally fall within the lower end
            of the reference range (0.5 - 2.8).

            Please note: The interpretive comments have been changed to reflect
            assay performance due to a new lot of kit reagents."



            Example 2:

            "Reference Range:
            <0.4 subnormal
            0.4-5.2 normal
            2.5-5.2 grey zone in old or symptomatic cats
            5.2 consistent with hyperthyroidism
            Cats with subnormal T4 values are almost exclusively euthyroid sick or
            overtreated for their hyperthyroidism. Older cats with consistent
            clinical signs and T4 values in the grey zone may have early
            hyperthyroidism or a concurrent non-thyroidal illness. Hyperthyroidism
            may be confirmed in these cats by adding on a free T4 by Equilibrium
            Dialysis or by performing a T3 suppression test. Following treatment
            with methimazole, T4 values will generally fall within the lower end
            of the reference range (0.4 - 2.5).

            Please note: The lower reference limit for feline T4 concentration has
            been adjusted due to a recent population study of Idexx results."





            These next two exmaples were extracted from report instance retrievals that were error free

            Exmaple 1:

            "RETICULOCYTE PRODUCTION INDEX:
            NONRESPONSIVE MARROW <1.0
            ERYTHROPOIETICALLY ACTIVE MARROW 1.0-2.0
            MARKED REGENERATION >3.0"


            Example 2:

            "Reference Range:
            <0.8 subnormal
            0.8-1.5 grey zone
            1.6-5.0 normal
            3.0-6.0 desired on supplement

            Dogs with subnormal T4 results may be hypothyroid or euthyroid sick.
            Dogs with T4 results in the grey zone may be hypothyroid. In dogs with
            consistent clinical signs consider adding on a free T4 by Equilibrium
            Dialysis and endogenous TSH to aid in confirming hypothyroidism. For
            dogs on thyroid supplement, acceptable 4-6 hour post pill total T4
            values will generally fall within the higher end of the reference
            range and up to 6.0 u/dL."
            • 3. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
              Mike Reiche-Oracle
              Can you turn on ODSI auditing and capture what your java function is returning? Or simply add a System.out.println() to your java function? It would also be helpful to see your java function code. The physical ds might be helpful, too.
              • 4. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                Mike Reiche-Oracle
                Notice that in the examples you posted, the ones with an error have sections "5.8 consistent with hyperthyroidism" and "5.2 consistent with hyperthyroidism" that appear in a quote (class="jive-quote" in the html source). What is different about those parts?
                • 5. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                  user738507
                  I have the physical DS with me, I am not sure how I can attach a file to the post?

                  As for the System.out.println(), we would do that and update you shortly.
                  • 6. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                    Mike Reiche-Oracle
                    Aha - those sections should actually be ampersand-g-t-semicolon 5.2 etc. It is the unescaped greater-than that is offensive.

                    When you create your XmlObject from text, you'll need to escape-out offensive characters. If you let ODSI build the elements from the CLOB, it will do this for you.
                    • 7. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                      user738507
                      So how do we escape out the offensive characters?
                      • 8. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                        user738507
                        And another strange thing being, if we restart our ODSI servers the issue is not happening anymore, so that kind of throws us off, when trying to come to such conclusions.

                        The issue is not consistently replicable with particular database record, the database records that present this issue at one point in time will be resolved after a restart of ODSI and replaced by another list of records that present the same error.

                        Edited by: user738507 on May 6, 2011 12:22 PM
                        • 9. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                          Mike Reiche-Oracle
                          The easiest way to handle this is to let ODSI create the XML from the CLOB - I mentioned this several times already.

                          Otherwise, escape it as I mentioned above. Change the gt (right-angle-bracket) to an ampersand followed by the letter g, followed by the letter t, followed by a semi-colon.
                          • 10. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                            Mike Reiche-Oracle
                            Regarding the "strange behavior". Look really closely at your Java function for a bug.
                            • 11. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                              user738507
                              Here is the java function:


                                   /**
                                   * Iterate through the search results and build out the XmlBean response
                                   * @param helper A helper class used to simplify common JDBC commands
                                   * @param doc The XmlBean document to populate
                                   * @param isCollectionsIncluded True if Collection info should be included in results, False otherwise
                                   * @param isFullDetailsIncluded True if Result data should be included in results, False otherwise
                                   * @throws Exception
                                   */
                                   private static void addOrders(XmlBeansJDBCHelper helper, LabOrderReportDocument doc,
                                             boolean isCollectionsIncluded, boolean isFullDetailsIncluded) throws Exception {
                                        int rows = 0;
                                        
                                        ResultSet rs = helper.getResultSet();
                                        LabOrders labOrders = doc.getLabOrderReport().addNewLabOrders();
                                        LabOrder record = null;
                                        HashMap<Long, Collection> parentCollectionMap = null;
                                        
                                        // initialize variable used to track when child elements of the XML should be created
                                        long previousRowOrderId = 0;
                                        long previousRowParentOrderCollectionId = 0;
                                        long previousRowOrderCollectionId = 0;
                                        long previousRowResultId = 0;
                                        boolean isRootCollectionNode = false;
                                        
                                        LabOrder.Collections lastParentOuterCollectionsAdded = null;
                                        com.idexx.services.lde.laborder.Collection.Collections lastParentInnerCollectionsAdded = null;
                                        com.idexx.services.lde.laborder.Collection lastCollectionAdded = null;
                                        Result lastResultAdded = null;
                                        
                                        // Loop through the results and build XmlBean nodes for each row
                                        // Since the SQL is joining Orders to Collections (one-to-many) to Results (one-to-many),
                                        // and returning a flat structure, there will be duplicate Order data on each row when
                                        // multiple collections exist on the Order, and duplicate Collection data when multiple
                                        // Results exist. We can use this fact to determine when to create a new Collection, or
                                        // Result node.
                                        while (helper.getResultSet().next())
                                        {
                                             rows++;
                                             long currentRowParentOrderCollectionId = 0;
                                             long currentRowOrderCollectionId = 0;
                                             long currentRowResultId = 0;
                                             long currentRowResultRemarkId = 0;
                                             //int rowno = helper.getResultSet().getRow();
                                             
                                             // Get the Order ID
                                             logDebug("Getting the OrderId.....");
                                             BigInteger dbOrderId = JDBCHelper.getBigInteger(rs, DataConstants.ORDER_ID);
                                             logDebug("DONE getting the OrderId.");
                                             long currentRowOrderId = dbOrderId.longValue();
                                             
                                             // Determine the Order ID, Order Collection ID, and Result ID currently being processed.
                                             // These will be used to determine whether to start a new LabOrder Bean, Collections Bean, or Results Bean
                                             if (isCollectionsIncluded || isFullDetailsIncluded) {
                                                  
                                                  // Get the ParentOrderCollectionID
                                                  logDebug("Getting the Parent Collection Order ID.....");
                                                  BigInteger dbParentOrderCollectionId = JDBCHelper.getBigInteger(rs, DataConstants.PARENT_ORDER_COLLECTION_ID);
                                                  if ( dbParentOrderCollectionId != null )
                                                       currentRowParentOrderCollectionId = dbParentOrderCollectionId.longValue();
                                                  else
                                                       currentRowParentOrderCollectionId = 0;
                                                  
                                                  // Get the OrderCollectionID
                                                  logDebug("Getting the Order Collection ID.....");
                                                  BigInteger dbOrderCollectionId = JDBCHelper.getBigInteger(rs, DataConstants.ORDER_COLLECTION_ID);
                                                  if ( dbOrderCollectionId != null )
                                                       currentRowOrderCollectionId = dbOrderCollectionId.longValue();
                                                  else
                                                       currentRowOrderCollectionId = 0;
                                                  
                                                  if ( isFullDetailsIncluded ) {
                                                       
                                                       // Get the ResultID
                                                       logDebug("Getting the Result Id.....");
                                                       BigInteger dbResultId = JDBCHelper.getBigInteger(rs, DataConstants.RESULT_ID);
                                                       if ( dbResultId != null )
                                                            currentRowResultId = dbResultId.longValue();
                                                       else
                                                            currentRowResultId = 0;
                                                       
                                                       // Get the ResultRemarkID
                                                       BigInteger dbResultRemarkId = JDBCHelper.getBigInteger(rs, DataConstants.RESULT_REMARK_ID);
                                                       if ( dbResultRemarkId != null )
                                                            currentRowResultRemarkId = dbResultRemarkId.longValue();
                                                       else
                                                            currentRowResultRemarkId = 0;
                                                  }
                                             }
                                             
                                             isRootCollectionNode = (currentRowParentOrderCollectionId == 0);
                                             
                                             logDebug("currentRowOrderId: " + currentRowOrderId);
                                             logDebug("previousRowOrderId: " + previousRowOrderId);
                                             logDebug("currentRowResultId: " + currentRowResultId);
                                             logDebug("previousRowResultId: " + previousRowResultId);
                                             logDebug("currentRowResultRemarkId: " + currentRowResultRemarkId);
                                             logDebug("previousRowResultRemarkId: N/A");
                                             logDebug("currentRowParentOrderCollectionId: " + currentRowParentOrderCollectionId);
                                             logDebug("previousRowParentOrderCollectionId: " + previousRowParentOrderCollectionId);
                                             logDebug("currentRowOrderCollectionId: " + currentRowOrderCollectionId);
                                             logDebug("previousRowOrderCollectionId: " + previousRowOrderCollectionId);
                                             
                                             if ( currentRowOrderId != previousRowOrderId ) {
                                                  
                                                  parentCollectionMap = new HashMap<Long, Collection>();
                                                  lastParentOuterCollectionsAdded = null;
                                                  lastParentInnerCollectionsAdded = null;
                                                  lastCollectionAdded = null;
                                                  lastResultAdded = null;
                                                  
                                                  // This is a new Order, generate a new Lab Order bean
                                                  record = addOrder(labOrders, helper, dbOrderId, isFullDetailsIncluded);
                                                  logDebug("Order Added!");
                                                  
                                                  // If there is Parent Collection data and it should be included, build a Collections element,
                                                  // and populate the first one
                                                  if ( !isRootCollectionNode && (isCollectionsIncluded || isFullDetailsIncluded) ) {
                                                       lastParentOuterCollectionsAdded = record.addNewCollections();
                                                       lastCollectionAdded = addCollection(record, helper, lastParentOuterCollectionsAdded, true);
                                                       logDebug("Collection Added! Is it null? " + (lastCollectionAdded == null));
                                                  }
                                                  
                                                  // If there is Collection data and it should be included, build a Collections element,
                                                  // and populate the first one
                                                  if ( currentRowOrderCollectionId > 0 && (isCollectionsIncluded || isFullDetailsIncluded) ) {
                                                       if ( isRootCollectionNode ) {
                                                            lastParentOuterCollectionsAdded = record.addNewCollections();
                                                            lastCollectionAdded = addCollection(record, helper, lastParentOuterCollectionsAdded, false);
                                                            parentCollectionMap.put(new Long(currentRowOrderCollectionId), lastCollectionAdded);
                                                            logDebug("parent collection added to map: " + currentRowOrderCollectionId);
                                                       }
                                                       else {
                                                            lastParentInnerCollectionsAdded = lastCollectionAdded.addNewCollections();
                                                            lastCollectionAdded = addCollection(record, helper, lastParentInnerCollectionsAdded, false);
                                                       }
                                                       logDebug("Collection Added! Is it null? " + (lastCollectionAdded == null));
                                                       
                                                       // If there is Result data and it should be included, build a Results element,
                                                       // and populate the first one
                                                       if ( currentRowResultId > 0 && isFullDetailsIncluded ) {
                                                            logDebug("Adding result....");
                                                            lastResultAdded = addResult(record, helper, lastCollectionAdded);
                                                            logDebug("Result Added!");
                                                            
                                                            // If there is Result Remark data and it should be included, build a ResultRemarks element,
                                                            // and populate the first one
                                                            if ( currentRowResultRemarkId > 0 && isFullDetailsIncluded ) {
                                                                 addResultRemark(record, helper, lastResultAdded);
                                                            }
                                                       }
                                                  }
                                                  
                                                  logDebug("DONE getting first Collection and Result.");
                                                  
                                             }
                                             else if ( currentRowParentOrderCollectionId != previousRowParentOrderCollectionId
                                                       && (isCollectionsIncluded || isFullDetailsIncluded) ) {
                                                  // This is a new, top level, Order Collection to be included
                                                  
                                                  lastParentOuterCollectionsAdded = null;
                                                  lastParentInnerCollectionsAdded = null;
                                                  lastCollectionAdded = null;
                                                  lastResultAdded = null;
                                                  
                                                  logDebug("Getting next Order Collection...");
                                                  // If there is Parent Collection data and it should be included, build a Collections element,
                                                  // and populate the first one
                                                  if ( !isRootCollectionNode ) {
                                                       lastCollectionAdded = (com.idexx.services.lde.laborder.Collection)parentCollectionMap.get(new Long(currentRowParentOrderCollectionId));
                                                       logDebug("A Collection Added! Is it null? " + (lastCollectionAdded == null));
                                                  }
                                                  
                                                  // If there is Collection data and it should be included, build a Collections element,
                                                  // and populate the first one
                                                  if ( currentRowOrderCollectionId > 0 ) {
                                                       if ( isRootCollectionNode ) {
                                                            //LabOrder.Collections collections = record.addNewCollections();
                                                            lastParentOuterCollectionsAdded = record.getCollections();
                                                            lastCollectionAdded = addCollection(record, helper, lastParentOuterCollectionsAdded, false);
                                                            parentCollectionMap.put(new Long(currentRowOrderCollectionId), lastCollectionAdded);
                                                       }
                                                       else {
                                                            lastParentInnerCollectionsAdded = lastCollectionAdded.addNewCollections();
                                                            lastCollectionAdded = addCollection(record, helper, lastParentInnerCollectionsAdded, false);
                                                       }
                                                       logDebug("B Collection Added! Is it null? " + (lastCollectionAdded == null));
                                                       
                                                       // If there is Result data and it should be included, build a Results element,
                                                       // and populate the first one
                                                       if ( currentRowResultId > 0 && isFullDetailsIncluded ) {
                                                            lastResultAdded = addResult(record, helper, lastCollectionAdded);
                                                            
                                                            // If there is Result Remark data and it should be included, build a ResultRemarks element,
                                                            // and populate the first one
                                                            if ( currentRowResultRemarkId > 0 && isFullDetailsIncluded ) {
                                                                 addResultRemark(record, helper, lastResultAdded);
                                                            }
                                                       }
                                                  }
                                                  
                                             }
                                             else if ( currentRowOrderCollectionId != previousRowOrderCollectionId
                                                       && (isCollectionsIncluded || isFullDetailsIncluded) ) {
                                                  // This is a new Order Collection to be included inside of a parent collection
                                                  
                                                  logDebug("Getting next CHILD Order Collection...");
                                                  logDebug("isRootCollectionNode: " + isRootCollectionNode);
                                                  logDebug("Order ID: " + helper.getBigInteger(DataConstants.ORDER_ID));
                                                  logDebug("Order Collection ID: " + helper.getBigInteger(DataConstants.ORDER_COLLECTION_ID));
                                                  logDebug("Collection ID: " + helper.getBigInteger(DataConstants.COLLECTION_ID));
                                                  
                                                  
                                                  if ( isRootCollectionNode ) {
                                                       lastCollectionAdded = addCollection(record, helper, lastParentOuterCollectionsAdded, false);
                                                       parentCollectionMap.put(new Long(currentRowOrderCollectionId), lastCollectionAdded);
                                                  }
                                                  else {
                                                       com.idexx.services.lde.laborder.Collection parentCollection = (com.idexx.services.lde.laborder.Collection)parentCollectionMap.get(new Long(currentRowParentOrderCollectionId));
                                                       if(parentCollection == null) {
                                                            log(LOG_LEVEL.WARN, "Parent Collection with id: " + currentRowParentOrderCollectionId + " is null for collection id: " + currentRowOrderCollectionId + " but isRootCollectionNode is " + isRootCollectionNode);
                                                       } else {
                                                            lastParentInnerCollectionsAdded = parentCollection.getCollections();
                                                            logDebug("Is lastParentInnerCollectionsAdded null? " + (lastParentInnerCollectionsAdded == null));
                                                            lastCollectionAdded = addCollection(record, helper, lastParentInnerCollectionsAdded, false);
                                                       }
                                                  }
                                                  
                                                  // If there is Result data and it should be included, build a Results element,
                                                  // and populate the first one
                                                  if ( currentRowResultId > 0 && isFullDetailsIncluded ) {
                                                       lastResultAdded = addResult(record, helper, lastCollectionAdded);
                                                  
                                                       // If there is Result Remark data and it should be included, build a ResultRemarks element,
                                                       // and populate the first one
                                                       if ( currentRowResultRemarkId > 0 && isFullDetailsIncluded ) {
                                                            addResultRemark(record, helper, lastResultAdded);
                                                       }
                                                  }
                                                  
                                             }
                                             else if ( currentRowResultId != previousRowResultId
                                                       && isFullDetailsIncluded ) {
                                                  // There is a new Result to be included
                                                  
                                                  logDebug("Getting next Result...");
                                                  
                                                  // This is a new result to be included
                                                  lastResultAdded = addResult(record, helper, lastCollectionAdded);
                                                  
                                                  // If there is Result Remark data and it should be included, build a ResultRemarks element,
                                                  // and populate the first one
                                                  if ( currentRowResultRemarkId > 0 && isFullDetailsIncluded ) {
                                                       addResultRemark(record, helper, lastResultAdded);
                                                  }
                                             }
                                             else if ( isFullDetailsIncluded ) {
                                                  // There is a new Result Remark to include
                                                  
                                                  logDebug("Getting next Result Remark...");
                                                  // This is a new result remark to be included
                                                  addResultRemark(record, helper, lastResultAdded);
                                             }
                                             
                                             logDebug("Done building response.");
                                             
                                             previousRowResultId = currentRowResultId;
                                             previousRowParentOrderCollectionId = currentRowParentOrderCollectionId;
                                             previousRowOrderCollectionId = currentRowOrderCollectionId;
                                             previousRowOrderId = currentRowOrderId;
                                        }
                                        
                                        logDebug("Found " + rows + " rows of data.");
                                   }
                              • 12. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                                Mike Reiche-Oracle
                                What is it we're looking for? I think we decided that putting unescaped greater-than characters in xml text elements was bad. After escaping them out (or simply replacing them with a dummy character for some quick testing), is there still a problem?

                                That function is private. ODSI 'java functions' must be public, so you must have something that is calling this. Also you don't show the implementations of methods you are calling (addResultRemark etc). It's hard to figure out what's going on when I can't see the whole picture.
                                • 13. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                                  user738507
                                  Hi,


                                  Thank you for your inputs so far, can you please shed some light on the below behavior

                                  1. This parsing issue is never encountered when ODIS is running on a Windows OS.
                                  2. This parsing issue does occur, intermittently on when ODSI is running on Linux.
                                  3. Many of the lab results contain <, > that do not encounter an error when retrieved.
                                  4. The Oracle_Clob_examples.txt document I uploaded contains XML with < and > that both encountered this error and did not.
                                  5. If I restart ODSI running on Linux, the result instances that had encountered errors prior to the restart (and containing <,>) no longer do. They can be retrieved without error. However, other results that were not encountering this error prior to restart become problematic.

                                  Based on all of the evidence, it seems that we are generating the XML properly. Can you look at the below stack trace

                                  <lab:labOrderReport labOrderReportDownloadDate="2011-05-06T18:45:49.216-04:00" labOrderReportVersion="1.0" xmlns:lab="http://idexx.com/services/lde/laborder"><lab:vendor vendorCode="IDEXX" vendorName="IDEXX Reference Laboratories, Inc."/><lab:labOrders><lab:labOrder internalOrderID="50962415"><lab:lims internalLimsID="1"><lab:fullName>Antrim</lab:fullName><lab:shortName>Antrim</lab:shortName><lab:activeStatusIndicator>Y</lab:activeStatusIndicator></lab:lims><lab:context internalContextID="1"><lab:code>ANTRIM</lab:code><lab:name>Antrim</lab:name><lab:activeStatusIndicator>Y</lab:activeStatusIndicator></lab:context><lab:lab internalLabID="55"><lab:labCode>R</lab:labCode><lab:labAddress><lab:streetAddressLines/></lab:labAddress></lab:lab><lab:labOrderSource internalOrderTrackingID="-1" internalOrderSourceID="-1" internalOrderSourceApplicationID="-1"><lab:trackingCode>N/A</lab:trackingCode><lab:name>N/A</lab:name><lab:description>Not Applicable</lab:description><lab:applicationName>None</lab:applicationName></lab:labOrderSource><lab:patient internalPatientID="1213098"><lab:name>MANDY</lab:name><lab:ownerName><lab:lastName>GOFF</lab:lastName></lab:ownerName><lab:species internalSpeciesID="87"><lab:code>CANINE</lab:code><lab:name>CANINE</lab:name></lab:species><lab:breed><lab:code>MIXED</lab:code><lab:name>MIXED</lab:name></lab:breed><lab:gender><lab:code>F</lab:code><lab:name>FEMALE</lab:name></lab:gender><lab:age><lab:numericAge>12</lab:numericAge><lab:ageUOM>Y</lab:ageUOM></lab:age><lab:activeStatusIndicator>Y</lab:activeStatusIndicator></lab:patient><lab:practice internalPracticeID="7380"><lab:code>80322</lab:code><lab:sapCustomerNumber>0000018449</lab:sapCustomerNumber><lab:name>SANDWICH ANIMAL HOSPITAL</lab:name><lab:addresses><lab:address><lab:streetAddressLines><lab:streetAddressLine>492 RTE 6A </lab:streetAddressLine><lab:streetAddressLine>EAST SANDWICH MA 02537</lab:streetAddressLine></lab:streetAddressLines></lab:address></lab:addresses><lab:phones><lab:phone><lab:type>Voice</lab:type><lab:number>508-888-2774</lab:number></lab:phone><lab:phone><lab:type>Fax</lab:type><lab:number>915088330934</lab:number></lab:phone></lab:phones><lab:contacts><lab:contact internalCustomerContactID="42924"><lab:surname>HENNEMAN</lab:surname></lab:contact></lab:contacts></lab:practice><lab:orderStatus><lab:code>F</lab:code><lab:statusDesc>FULL</lab:statusDesc></lab:orderStatus><lab:accessionID>R2659181</lab:accessionID><lab:requisitionID>2248856</lab:requisitionID><lab:referralLabID>-1</lab:referralLabID><lab:reqReportingRequisitionIdCode>2248856</lab:reqReportingRequisitionIdCode><lab:specimen><lab:collectionDate>2011-04-04T00:00:00.000-04:00</lab:collectionDate><lab:handler>AOB</lab:handler></lab:specimen><lab:remarks>SS,SEE PREV R2640151, /CANINE</lab:remarks><lab:collections><lab:collection internalCollectionID="2432"><lab:code>22</lab:code><lab:name>ADD-ON T4</lab:name><lab:results><lab:result internalResultID="12754956"><lab:assay internalAssayID="1755"><lab:code>804</lab:code><lab:name>T4</lab:name><lab:labDepartment>NOT MAINTAINED</lab:labDepartment></lab:assay><lab:value>9.5</lab:value><lab:uOM>ug/dL</lab:uOM><lab:status><lab:status>FINAL</lab:status></lab:status><lab:releaseDate>2011-04-05T16:54:30.000-04:00</lab:releaseDate><lab:releaseCode>%AUTO</lab:releaseCode><lab:referenceRangeLow>1.0</lab:referenceRangeLow><lab:referenceRangeHigh>4.0</lab:referenceRangeHigh><lab:resultAbnormal><lab:abnormalCode>H</lab:abnormalCode><lab:abnormalName>HIGH</lab:abnormalName></lab:resultAbnormal><lab:resultRemarks><lab:resultRemark internalResultRemarkID="1188496"><lab:type>RESULT</lab:type><lab:cannedCode>T4K96</lab:cannedCode><lab:normalsCode> </lab:normalsCode><lab:remark>Interpretive ranges:
                                  &lt;1.0 Low
                                  1.0-4.0 Normal
                                  4.0 High
                                  2.1-5.4 Therapeutic

                                  Dogs with no clinical signs of hypothyroidism and results within the
                                  normal reference range are likely euthyroid. Dogs with low T4
                                  concentrations may be hypothyroid or "euthyroid sick". Occasionally,
                                  hypothyroid dogs can have T4 concentrations that are low normal. Dogs
                                  with clinical signs of hypothyroidism and low or low normal T4
                                  concentrations may be evaluated further by submission of free T4 and
                                  canine TSH. A high T4 concentration in a clinically normal dog is
                                  likely variation of normal; however elevations may occur secondary to
                                  thyroid autoantibodies or rarely thyroid neoplasia. For dogs on
                                  thyroid supplement, acceptable 4-6 hour post pill total T4
                                  concentrations generally fall within the higher end or slightly above
                                  the reference range.</lab:remark></lab:resultRemark></lab:resultRemarks></lab:result></lab:results></lab:collection></lab:collections><lab:dateReceived>2011-04-05T16:09:51.000-04:00</lab:dateReceived><lab:dateLastUpdated>2011-04-27T13:14:54.000-04:00</lab:dateLastUpdated></lab:labOrder></lab:labOrders></lab:labOrderReport>
                                  Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:241)
                                  at weblogic.xml.babel.scanner.OpenTag.read(OpenTag.java:60)
                                  at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:251)
                                  at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:178)
                                  at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:533)
                                  at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:510)
                                  at weblogic.xml.babel.baseparser.EndElement.parse(EndElement.java:34)
                                  at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:457)
                                  at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
                                  at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:195)
                                  at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)
                                  at weblogic.xml.stax.XMLEventReaderBase.parseSome(XMLEventReaderBase.java:189)
                                  at weblogic.xml.stax.XMLEventReaderBase.nextEvent(XMLEventReaderBase.java:122)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:136)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:124)
                                  at weblogic.xml.query.parsers.BufferedParser.fetchNext(BufferedParser.java:79)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:308)
                                  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
                                  at weblogic.xml.query.schema.BestEffortValidatingIterator$OpenedIterator.hasNext(BestEffortValidatingIterator.java:224)
                                  at weblogic.xml.query.schema.ValidatingIterator.fetchNext(ValidatingIterator.java:82)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
                                  at weblogic.xml.query.schema.BestEffortValidatingIterator.fetchNext(BestEffortValidatingIterator.java:85)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
                                  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:137)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at com.bea.dsp.wrappers.jf.JavaFunctionIterator.fetchNext(JavaFunctionIterator.java:273)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
                                  at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
                                  at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:247)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.core.ExecutionWrapper.fetchNext(ExecutionWrapper.java:88)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.hasNext(LegacyGenericIterator.java:130)
                                  at weblogic.xml.query.xdbc.util.Serializer.serializeItems(Serializer.java:251)
                                  at com.bea.ld.server.ResultPusher$DSP25CompatibilityPusher.next(ResultPusher.java:236)
                                  at com.bea.ld.server.ResultPusher.pushResults(ResultPusher.java:112)
                                  at com.bea.ld.server.XQueryInvocation.execute(XQueryInvocation.java:770)
                                  at com.bea.ld.EJBRequestHandler.invokeQueryInternal(EJBRequestHandler.java:624)
                                  at com.bea.ld.EJBRequestHandler.invokeOperationInternal(EJBRequestHandler.java:478)
                                  at com.bea.ld.EJBRequestHandler.invokeOperation(EJBRequestHandler.java:323)
                                  at com.bea.ld.ServerWrapperBean.invoke(ServerWrapperBean.java:153)
                                  at com.bea.ld.ServerWrapperBean.invokeOperation(ServerWrapperBean.java:80)
                                  at com.bea.ld.ServerWrapper_s9smk0_ELOImpl.invokeOperation(ServerWrapper_s9smk0_ELOImpl.java:63)
                                  at com.bea.dsp.ws.RoutingHandler$PriviledgedRunner.run(RoutingHandler.java:96)
                                  at com.bea.dsp.ws.RoutingHandler.handleResponse(RoutingHandler.java:217)
                                  at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:287)
                                  at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:271)
                                  at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:176)
                                  at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
                                  at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
                                  at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
                                  at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
                                  at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
                                  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
                                  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
                                  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
                                  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
                                  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
                                  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
                                  at weblogic.security.service.SecurityManager.runAs(Unknown Source)
                                  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
                                  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
                                  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
                                  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
                                  at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
                                  <May 6, 2011 6:45:49 PM EDT> <Notice> <ODSI> <BEA-000000> <LabOrderDataServices> <Error occurred performing ODSI operation: {ld:LabOrder/logical/LabOrderReport}getLabOrderDetails:1
                                  weblogic.xml.query.exceptions.XQueryDynamicException: ld:LabOrder/logical/LabOrderReport.ds, line 34, column 6: {err}FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
                                  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:147)
                                  at weblogic.xml.query.parsers.Parser.reportParseError(Parser.java:157)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:225)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:124)
                                  Truncated. see log file for complete stacktrace
                                  javax.xml.stream.XMLStreamException: Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:206)
                                  at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)
                                  at weblogic.xml.stax.XMLEventReaderBase.parseSome(XMLEventReaderBase.java:189)
                                  at weblogic.xml.stax.XMLEventReaderBase.nextEvent(XMLEventReaderBase.java:122)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:136)
                                  Truncated. see log file for complete stacktrace
                                  Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:241)
                                  at weblogic.xml.babel.scanner.OpenTag.read(OpenTag.java:60)
                                  at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:251)
                                  at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:178)
                                  at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:533)
                                  Truncated. see log file for complete stacktrace
                                  >
                                  <May 6, 2011 6:45:49 PM EDT> <Error> <com.bea.ld.ServerWrapperBean> <BEA-000000> <Execution resulted in fault:
                                  <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'><soapenv:Header></soapenv:Header><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring><![CDATA[ld:LabOrder/logical/LabOrderReport.ds, line 34, column 6: {err}FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col:485 Line:2 '=' expected, got char[97]]]></faultstring><detail><![CDATA[weblogic.xml.query.exceptions.XQueryDynamicException: ld:LabOrder/logical/LabOrderReport.ds, line 34, column 6: {err}FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:95)
                                  at weblogic.xml.query.iterators.AbstractIterator.reportUserError(AbstractIterator.java:147)
                                  at weblogic.xml.query.parsers.Parser.reportParseError(Parser.java:157)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:225)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:124)
                                  at weblogic.xml.query.parsers.BufferedParser.fetchNext(BufferedParser.java:79)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.navigation.ChildPath.fetchNext(ChildPath.java:308)
                                  at weblogic.xml.query.iterators.GenericIterator.hasNext(GenericIterator.java:133)
                                  at weblogic.xml.query.schema.BestEffortValidatingIterator$OpenedIterator.hasNext(BestEffortValidatingIterator.java:224)
                                  at weblogic.xml.query.schema.ValidatingIterator.fetchNext(ValidatingIterator.java:82)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
                                  at weblogic.xml.query.schema.BestEffortValidatingIterator.fetchNext(BestEffortValidatingIterator.java:85)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.next(LegacyGenericIterator.java:109)
                                  at weblogic.xml.query.runtime.typing.SeqTypeMatching.fetchNext(SeqTypeMatching.java:137)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at com.bea.dsp.wrappers.jf.JavaFunctionIterator.fetchNext(JavaFunctionIterator.java:273)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.querycide.QueryAssassin.fetchNext(QueryAssassin.java:54)
                                  at weblogic.xml.query.iterators.GenericIterator.peekNext(GenericIterator.java:163)
                                  at weblogic.xml.query.runtime.qname.InsertNamespaces.fetchNext(InsertNamespaces.java:247)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.runtime.core.ExecutionWrapper.fetchNext(ExecutionWrapper.java:88)
                                  at weblogic.xml.query.iterators.GenericIterator.next(GenericIterator.java:104)
                                  at weblogic.xml.query.xdbc.iterators.ItemIterator.fetchNext(ItemIterator.java:86)
                                  at weblogic.xml.query.iterators.LegacyGenericIterator.hasNext(LegacyGenericIterator.java:130)
                                  at weblogic.xml.query.xdbc.util.Serializer.serializeItems(Serializer.java:251)
                                  at com.bea.ld.server.ResultPusher$DSP25CompatibilityPusher.next(ResultPusher.java:236)
                                  at com.bea.ld.server.ResultPusher.pushResults(ResultPusher.java:112)
                                  at com.bea.ld.server.XQueryInvocation.execute(XQueryInvocation.java:770)
                                  at com.bea.ld.EJBRequestHandler.invokeQueryInternal(EJBRequestHandler.java:624)
                                  at com.bea.ld.EJBRequestHandler.invokeOperationInternal(EJBRequestHandler.java:478)
                                  at com.bea.ld.EJBRequestHandler.invokeOperation(EJBRequestHandler.java:323)
                                  at com.bea.ld.ServerWrapperBean.invoke(ServerWrapperBean.java:153)
                                  at com.bea.ld.ServerWrapperBean.invokeOperation(ServerWrapperBean.java:80)
                                  at com.bea.ld.ServerWrapper_s9smk0_ELOImpl.invokeOperation(ServerWrapper_s9smk0_ELOImpl.java:63)
                                  at com.bea.dsp.ws.RoutingHandler$PriviledgedRunner.run(RoutingHandler.java:96)
                                  at com.bea.dsp.ws.RoutingHandler.handleResponse(RoutingHandler.java:217)
                                  at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:287)
                                  at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:271)
                                  at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:176)
                                  at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
                                  at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
                                  at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
                                  at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
                                  at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
                                  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
                                  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
                                  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
                                  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
                                  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
                                  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
                                  at weblogic.security.service.SecurityManager.runAs(Unknown Source)
                                  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
                                  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
                                  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
                                  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
                                  at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
                                  Caused by: javax.xml.stream.XMLStreamException: Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                  at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:206)
                                  at weblogic.xml.stax.XMLStreamReaderBase.next(XMLStreamReaderBase.java:237)
                                  at weblogic.xml.stax.XMLEventReaderBase.parseSome(XMLEventReaderBase.java:189)
                                  at weblogic.xml.stax.XMLEventReaderBase.nextEvent(XMLEventReaderBase.java:122)
                                  at weblogic.xml.query.parsers.StAXEventAdaptor.queueNextTokens(StAXEventAdaptor.java:136)
                                  ... 59 more
                                  Caused by: weblogic.xml.babel.scanner.ScannerException: Line:2 '=' expected, got char[97]
                                  at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:241)
                                  at weblogic.xml.babel.scanner.OpenTag.read(OpenTag.java:60)
                                  at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:251)
                                  at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:178)
                                  at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:533)
                                  at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:510)
                                  at weblogic.xml.babel.baseparser.EndElement.parse(EndElement.java:34)
                                  at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:457)
                                  at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:326)
                                  at weblogic.xml.stax.XMLStreamReaderBase.advance(XMLStreamReaderBase.java:195)
                                  ... 63 more

                                  Please describe why this is issue is encountered, why the error is encountered with <,> in the result and why the retrieval is successful for other results that have <, >. I am working at converting the > symbols.

                                  Thank you,

                                  Edited by: user738507 on May 9, 2011 10:13 AM
                                  • 14. Re: FODC0002 [{bea-err}FODC0002a]: Error parsing input XML: Error at line:2 col
                                    Mike Reiche-Oracle
                                    Error parsing input XML: Error at line:2 col:485 Line:2 '=' expected, got char[97]
                                    Have you considered looking at col:485 line:2 ?
                                    1 2 3 Previous Next