JMS and XML SAX

I am attempting to pass an XML encoded string from one java class to another using JMS. The SAX implementation requires either a File, InputSource, InputStream, or String uri object in order to parse the XML. I can pass the String as either a String or MessageStream using JMS, but have been unable to cast the MessageStream to InputStream to make it parse correctly (also tried casting to InputSource but am unsure how that works).
Has anyone else tried this setup to do this sort of thing?
Any other ideas?
Thanks,
Ed.

If you pass the XML in a String, you then need to convert that String into an input source. I have used the following:
public static Document parseXMLString(String sXML)
    try {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = factory.newDocumentBuilder();
        Document doc = docBuilder.parse(new InputSource(new StringReader(sXML)));
        Element ndroot = doc.getDocumentElement();
        return doc;
    } catch (javax.xml.parsers.ParserConfigurationException e) {
        // print an error
    } catch (java.io.IOException e) {
        // print an error
    } catch (org.xml.sax.SAXException e) {
        // print an error
    return null;
}

Similar Messages

  • JMS and XML in PL/SQL

    I'm prototyping a JMS Listener / XML Parser in PL/SQL. I've not used either technology in conjunction with PL/SQL before, so I'm looking for resources to aid my research.
    Our current system is a Java Application that receives JMS messages off of a TIBCO EMS queue, parses the XML payload, and inserts the resulting records into the database using JDBC. What we’re hoping to do is to move all of this inside the database to improve the performance and reduce the network traffic. Recommendations of resources would be greatly appreciated!

    My mistake...
    exec dbms_aqadm.create_queue_table(queue_table=>'JMSDEMO_QUEUE_TABLE', queue_payload_type=>'sys.aq$_jms_text_message',multiple_consumers=>true);
    instead of sys.aq$_jms_text_message, I used sys.xmltype
    Once I corrected, things are working fine.

  • SAX and XML file, how to?

    Hi,
    I'm going to use JAXP and SAX to read my application XML config file.
    But I'm lost, I don't know how to read the elements.
    How does it function, do I have to put in the startElement() method as many "if" as entitys I need to process?
    And how can I guess if an element belongs (is inside) one element or another?
    Example:
    <program>
    <printer id="xx" type="aa">
    <path> /aa/cc </path>
    </printer>
    <source>
    <path> /aa/bb </path>
    </source>
    </program>
    for this XML, how would you code it? this way?
    startElement (String uri, String localName, String qName, Attributes attributes) {
    if (localname.equals("printer")) {
    //get printer attributes
    } else if (localname.equals("source")) {
    //get source attributes
    thanks!

    i have one sample code through which u can read the elements from xml file.
    // File SaxLister.java
    import java.io.IOException;
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.DefaultHandler;
    import org.xml.sax.helpers.XMLReaderFactory;
    public class SAXLister {
    public static void main(String[] args) throws Exception
    new SAXLister(args);
    public SAXLister(String[] args) throws SAXException, IOException
    XMLReader parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
    // should load properties rather than hardcoding class name
    parser.setContentHandler(new PeopleHandler( ));
    parser.parse(args.length == 1 ? args[0] : "parents.xml");
    /** Inner class provides DocumentHandler
    class PeopleHandler extends DefaultHandler
    boolean parent = false;
    boolean kids = false;
    public void startElement(String nsURI, String localName,
    String rawName, Attributes attributes) throws SAXException {
    // System.out.println("docEvents" + "startElement: " + localName + ","
    // + rawName);
    // Consult rawName since we aren't using xmlns prefixes here.
    if (rawName.equalsIgnoreCase("name"))
    parent = true;
    if (rawName.equalsIgnoreCase("children"))
    kids = true;
    public void characters(char[] ch, int start, int length) {
    if (parent) {
    System.out.println("Parent: " + new String(ch, start, length));
    parent = false;
    } else if (kids) {
    System.out.println("Children: " + new String(ch, start, length));
    kids = false;
    /** Needed for parent constructor */
    public PeopleHandler( ) throws org.xml.sax.SAXException {
    super( );
    // File people.xml
    <?xml version="1.0"?>
    <people>
    <person>
         <name>Ian Darwin</name>
         <email>http://www.darwinsys.com/</email>
         <country>Canada</country>
    </person>
    <person>
         <name>Another Darwin</name>
         <email type="intranet">afd@node1</email>
         <country>Canada</country>
    </person>
    </people>
    I hope this gives u a better understanding of how SAX parser works..
    Kindly note u need xml.jar and xerces.jar in ur classpath to run above program.
    Regards,
    Nikunj

  • JMSML - XML Based Mark-Up Language for BEA WebLogic JMS and JMX

              JMSML is a Mark-Up language designed and developed to make Java Messaging Service
              (JMS) and Java Management Extensions (JMX) programming easy by hiding all the
              JMS and JMX Java API complexity behind a few, simple, easy to use XML tags.
              Both the White Paper and the binary download are available in dev2dev.beasys.com
              at the link below:
              http://dev2dev.beasys.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              Regards
              [email protected]
              

    Hi,
    I finally managed to post a message to ActiveMQ 5.4.2 from WLS 10.3. I created a foreign JMS Server in WLS. I am not sure if you still have this issue, but I was facing this problem and managed to resolve it so posting the reply!
    I placed the activemq-all-5.4.2.jar file in WLS server classpath.
    The settings I used for the Foreign Server are:
    General tab
    JNDI Initial Context Factory: org.apache.activemq.jndi.ActiveMQInitialContextFactory
    JNDI Connection URL: tcp://localhost:61616
    Destinations Tab
    Name: TestQueue
    Local JNDI Name: TestQueue
    Remote JNDI Name: dynamicQueues/TestQueue (I tried with a normal queue, but it didn't work. So used dynamicQueues here. Will try with other queue also)
    Connection Factories Tab
    Name: AMQConnectionFactory (
    Local JNDI Name: AMQConnectionFactory
    Remote JNDI Name: ConnectionFactory (This is default name given by Active MQ, you can change by adding names in jndi.properties file and placing it in config folder of ActiveMQ installation. Please check here: http://activemq.apache.org/jndi-support.html)
    Using this configuration I was able to post message to ActiveMQ queue from Oracle Service Bus. One more issue to be taken care is that if the message type is not "Text" then the message body was coming as blank in ActiveMQ. So set the message type as "Text" explicitly.

  • Help needed with Java 1.4 and xml Runtime problem

    I am working on a java 1.3 and JAXP1.1 written code. Now I want to compile and run it using J2SE 1.4. Here are the import statements from the existing code.
    import org.xml.sax.*;
    import org.xml.sax.helpers.DefaultHandler;
    import org.xml.sax.Locator;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.XMLReader;
    import org.xml.sax.InputSource;
    import java.sql.*;
    import java.net.*;
    import java.io.*;
    When I run the existing(using java 1.3 and Jaxp1.1) code I have to include the files crimson.jar and jaxp.jar in the windows 2000 CLASSPATH and works fine.
    But when I compile and run it using J2SE 1.4 which has the built in support for the saxp, I thought that I don't have to specify any CLASSPATH for the new 1.4 so I don't specify any Classpath and it gives me the Microsoft "ClassFactory cannot find the requested class" error which means that even thought the new java 1.4 has the xml classes as libraries yet it still requies some .jar files to be listed in the CLASSPATH.
    If I am right then what path will work(i.e what jar class I need to add to the CLASSPATH).
    Thanks for your help.
    RA.

    Thanks for your reply,
    I think I didn't specify when the error occurs. The ClassFactory related error occurs when I run the program, it compiles without any error.
    From what I understood somewhere in the java 1.4 docs, that the new 1.4 has the xml libraries built in by default so one doesn't need to give the classpaths just like we don't give any CLASSPATH for using swing and many of the other java packages. That is one thing.
    Second thing is that I also tried to use the java_xml_pack-spring02 and java_xml_pack-summer02; but non of them include the crimson.jar and the jaxp.jar files in them which are the 2 .jar files that makes the program run fine when used under the java 1.3 with combination of the jaxp1.1(which was downloaded seperately and then the CLASSPATH for it was set.).
    Can you please help what .jar files do I need to use instead. I tried to use the ones that the new java_xml_pack-spring02 and java_xml_pack-summer02 has for the jaxp in them.
    Thanks again.
    RA

  • Org.xml.sax.SAXParseException with XML Report Publish

    Anyone see the following error in XML Report Publisher? This happened after I ran Employee W2 XML Interface and ran XML Report Publisher for the output of the PDF output.
    --XDOException
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeParse(XSLT10gR1.java:570)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:235)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:182)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
         at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
         at oracle.apps.xdo.oa.cp.JCP4XMLPublisher.runProgram(JCP4XMLPublisher.java:684)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
    Caused by: org.xml.sax.SAXParseException: <Line 268, Column 6>: XML-20109: (Fatal Error) PI with the name 'xml' can occur only in the beginning of the document.
         at oracle.xdo.parser.v2.XMLError.flushErrorHandler(XMLError.java:441)
         at oracle.xdo.parser.v2.XMLError.flushErrors1(XMLError.java:303)
         at oracle.xdo.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:305)
         at oracle.xdo.parser.v2.XMLParser.parse(XMLParser.java:289)
         ... 17 more
    Thanks.

    We are going to user Employee W-2 PDF.

  • 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

  • XML - SAX Parsing Question

    Hi,
    I am parsing XML using SAX parser and fill the values into the HashTable ( like Key value pair ).. so i can get the vaues for a particular key using hash get function.
    For the following XML. There are 2 "subscriberNumber" attribute, one is under "sn:Subscriber" and the another is under "sn:SubscriberChange".
    I can able to put this values in hash table and when i print the Hash table it is printing as sn:subscriberNumber=[1234567890, 1234567890] .. But how will i know which one is from "sn:Subscriber" and which is from "sn:SubscriberChange"
    This is the XML :
    <sn:SubscriberNotification>
    <sn:notificationSubType>1120</sn:notificationSubType>
    <sn:Subscriber>
         <cng:PaymentType>PostPaid</cng:PaymentType>
         <sn:subscriberNumber>1234567890</sn:subscriberNumber>
    </sn:Subscriber>
    <sn:SubscriberChange>
         <sn:subscriberNumber>1234567890</sn:subscriberNumber>
    </sn:SubscriberChange>
    </sn:SubscriberNotification>
    Any suggestion and pointers are really helpful
    Thanks,
    -Raj..

    Try something like this:
    import java.util.Stack;
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
    class MyHandler extends DefaultHandler {
        Stack openTags = new Stack();
        public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
            if (qName.equals("sn:subscriberNumber")) {
                String parentTag = (String)openTags.peek();
                System.out.println("Parent tag of this <sn:subscriberNumber> is : <" + parentTag + ">");
            openTags.push(qName);
        public void endElement(String uri, String localName, String qName) throws SAXException {
            openTags.pop();
    }Regards

  • XML SAX dtd Validation Problem

    Hi,
              I’m having problems getting an xml document to validate within Weblogic 8.1. I am trying to parse a document that references both a dtd and xsd. Both the schema and dtd reference need to be substituted so they use local paths. I specify the schema the parser should use and have created an entityResolver to change the dtd reference.
              When this runs as a standalone app from eclipse the file parses and validates without a problem. When deployed to the app server the process seems to be unable read the contents of the dtd. Its not that it cannot find the file (no FileNotFoundException is thrown but this can be created if I delete the dtd) rather it seems to find no declared elements.
              Initial thought was that the code didn’t have access to read the dtd from its location on disk, to check I moved the dtd to within the deployed war and reference as a resource. The problem still persists.
              Code Snippet:
              boolean isValid = false;
              try {
              // Create and configure factory
              SAXParserFactory factory = SAXParserFactoryImpl.newInstance();
              factory.setValidating(true);
              factory.setNamespaceAware(true);
              // To be notified of validation errors in the XML document,
              // add a custom error handler to the document builder
              PIMSFeedFileValidationHandler handler
              = new PIMSFeedFileValidationHandler();
              // Create and Configure Parser
              SAXParser parser = factory.newSAXParser();
              parser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
              parser.setProperty(NAMESPACE_PROPERTY_KEY, getSchemaFilePath());
              // Set reader with entityResolver for dtd
              XMLReader xmlReader = parser.getXMLReader();
              xmlReader.setEntityResolver(new SAXEntityResolver(this.dtdPath));
              // convert file to URL, as it is a remote file
              URL url = super.getFile().toURL();
              // Open an input stream and parse
              InputStream is = url.openStream();
              xmlReader.setErrorHandler(handler);
              xmlReader.parse(new InputSource(is));
              is.close();
              // get the result of parsing the document by checking the
              // errorhandler's isValid property
              isValid = handler.isValid();
              if (!isValid) {
              LOGGER.warn(handler.getMessage());
              LOGGER.debug("XML file is valid XML? " + isValid);
              } catch (ParserConfigurationException e) {
              LOGGER.error("Error parsing file", e);
              } catch (SAXException e) {
              LOGGER.error("Error parsing file", e);
              } catch (IOException e) {
              throw new FeedException(e);
              return isValid;
              See stack trace below for a little more info.
              2005-01-28 10:24:09,217 [DEBUG] [file] - Attempting validation of file 'cw501205.wa1.xml' with schema at 'C:/pims-feeds/hansard/schema/hansard-v1-9.xsd'
              2005-01-28 10:24:09,217 [DEBUG] [file] - Entity Resolver is using DTD path file:C:/Vignette/runtime_services/8.1/install/common/nodemanager/
              VgnVCMServer/stage/pims-hansard/pims-hansard.war/WEB-INF/classes/com/morse/pims/cms/feed/sax/ISO-Entities.dtd
              2005-01-28 10:24:09,227 [DEBUG] [file] - Creating InputSource at: file:C:/Vignette/runtime_services/8.1/install/common/nodemanager/VgnVCMServer/stage/pims-hansard/pims-hansard.war/WEB-INF/classes/com/morse/pims/cms/feed/sax/ISO-Entities.dtd
              2005-01-28 10:24:09,718 [WARN ] [file] - org.xml.sax.SAXParseException: Element type "Hansard" must be declared.
              org.xml.sax.SAXParseException: Element type "Session" must be declared.
              org.xml.sax.SAXParseException: Element type "DailyRecord" must be declared.
              org.xml.sax.SAXParseException: Element type "Volume" must be declared.
              org.xml.sax.SAXParseException: Element type "Written" must be declared.
              org.xml.sax.SAXParseException: Element type "WrittenHeading" must be declared.
              org.xml.sax.SAXParseException: Element type "Introduction" must be declared.
              … continues for all the elements in the doc
              2005-01-28 10:24:10,519 [DEBUG] [file] - XML file is valid XML? false
              2005-01-28 10:24:10,519 [WARN ] [file] - Daily Part file 'cw501205.wa1.xml' was not valid XML and was not processed.
              Has anybody seen this behavior before with weblogic and if so how have you resolved the issue.
              Thanks in Advance
              Adam

    It looks like you clicked on "Post" before you got around to explaining your problem. I don't see any error messages or any description of what was supposed to happen and what happened instead.
    Now, I don't know anything about XML Schema, but just guessing at how that unique name feature might be designed, and just guessing that your unique name is actually in the <userId> element, I would suggest that this:
    <xsd:unique name="un_name"> 
      <xsd:selector xpath="USER"/> 
      <xsd:field xpath="."/> 
    </xsd:unique> is at fault because it doesn't mention the <userId> element anywhere.

  • XML Sax Exception with 9.2.0.5 express*.jar files for Olap API

    I was using the olap_api_92.jar that
    came with jdeveloper for the olap api and having a coding problem.. In trying to see
    if I could resolve the previous problem, I set my classpath to use the jar files provided with the 9.2.0.5
    install for AiX.. all beginning with express*.jar
    I now get an XML parsing error that I can't fix..
    which jar is good, the olap_api_92.jar seems to work..
    Help!
    thanks,
    Lisa Cox
    OCLC Inc.
    java.lang.RuntimeException: org.xml.sax.SAXParseException: <Line 179, Column 18>: XML-0124: (Fatal Error) An attribute cannot appear more than once in the same start tag.
    at oracle.olapi.metadata.MetadataFetcher.processXML(MetadataFetcher.java:237)
    at oracle.olapi.metadata.MetadataFetcher.fetchBaseMetadataObjects(MetadataFetcher.java:180)
    at oracle.olapi.metadata.BaseMetadataProvider.fetchMetadataObject(BaseMetadataProvider.java:150)
    at oracle.olapi.metadata.BaseMetadataProvider.fetchMetadataObject(BaseMetadataProvider.java:107)
    at oracle.olapi.metadata.mdm.MdmMetadataProvider.getMetadataObject(MdmMetadataProvider.java:147)
    at oracle.olapi.metadata.mdm.MdmMetadataProvider.getRootSchema(MdmMetadataProvider.java:174)
    at oracle.express.mdm.MdmMetadataProvider.getRootSchema(MdmMetadataProvider.java:144)
    at org.oclc.xwc.olap.OlapClient.main(OlapClient.java:494)

    The OLAP component versions are empty.
    <Check key="OLAP Catalog version" value=""/>
    <Check key="OLAP AW Engine version" value=""/>
    <Check key="OLAP API Server version" value=""/>
    Please doublecheck that the catpatch.sql script ran without any errors.
    Aneel Shenker
    Senior Product Manager
    Oracle Corp.

  • Org.xml.sax error content not allowed in prolog

    Hi,
    I am running Jetty 6.x on SUSE and there is a webapp called pyjasper i am trying to run on it. the context maps fine and it displays the content however, when i use the applet in the webapp to create a report (.jasper) it gives me a org.xml.sax Parse exception: content not allowed in prolog.
    A little part of the error is pasted below:
    generating report /tmp/pyJasper/compiled-reports/6390c37d0ea810c7fae3e647c2f86817.jasper
    Parse Fatal Error at line 1 column 1: Content is not allowed in prolog.
    org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1039)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.apache.commons.digester.Digester.parse(Digester.java:1647)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:115)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    2010-03-04 09:15:59.073::WARN: /pyJasper/jasper.py
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:243)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:115)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    I am guessing this is some sort of an error in xml parsing. I found couple of solutions on sun java forums but none of them worked for me. Right now I am trying to figure out whether this is being caused by the applet or the java itself.
    Apparently other people who use this applet do not have a problem and they have the exact same files as me. So I am not sure what exactly is causing tihs problem. Bit of a noob.
    Any help would be greatly appreciated.
    THANK YOU VERY MUCH!!!! :)

    Hi thanks you very much for the reply.
    In my message I forgot to mention that I edited my prologs to "<?xml version = "1.0" encoding = "UTF-8"?>" and the jetty.xml that has the server configuration has:
    <?xml version = "1.0" encoding = "UTF-8"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    I apologize for the clarity of my message. I meant to say that I was wondering whether the problem is with the xm files that java has, or the xml files that are in the pyjasper package that I downloaded?
    I also checked for byte order mark using hex editor to see if those six characters were in front of my xml files. None of the files in the pyjasper package had the BOM so that solution did not work.
    Is there something wrong with the above xml prolog?
    I have been reading tons of different posts and stuf trying to figure this out for the past month but juts cannot seem to get it to work.
    Thanks.

  • Org.xml.sax.SAXParseException: Document root element "taglib", must match D

    hi
    using tomcat 4
    and jdf1.5
    i am getting bellow error
    org.xml.sax.SAXParseException: Document root element "taglib", must match DOCTYPE root "null".

    Check your web.xml once again.

  • Org.xml.sax.SAXParseException: Content is not allowed in prolog.

    Hi All,
    Currently i m doing some practice on JSTL and following few examples from this link http://java.sun.com/developer/technicalArticles/javaserverpages/faster/
    while doing xml-ex1.jsp
    This is xml-ex1.jsp code
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
    <html>
    <head>
    <title>JSTL Support for XML</title>
    </head>
    <body bgcolor="#FFFFCC">
    <h3>Books Info:</h3>
    <c:set var="xmltext">
    <books>
    <book>
    <title>Book Title A</title>
    <author>A. B. C.</author>
    <price>17.95</price>
    </book>
    <book>
    <title>Book Title B</title>
    <author>X. Y. Z.</author>
    <price>24.99</price>
    </book>
    </books>
    </c:set>
    <x:parse xml="${xmltext}" var="output"/>
    <b>The title of the first book is</b>:
    <x:out select="$output/books/book[1]/title"/>
    <br>
    <b>The price of the second book</b>:
    <x:out select="$output/books/book[2]/price"/>
    </body>
    </html>
    While running jsp page i m getting follwing error
    SEVERE: Servlet.service() for servlet jsp threw exception
    org.xml.sax.SAXParseException: Content is not allowed in prolog.
         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
         at org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseInputSource(ParseSupport.java:227)
         at org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseInputSourceWithFilter(ParseSupport.java:193)
         at org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseReaderWithFilter(ParseSupport.java:199)
         at org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseStringWithFilter(ParseSupport.java:206)
         at org.apache.taglibs.standard.tag.common.xml.ParseSupport.doEndTag(ParseSupport.java:138)
         at org.apache.jsp.jsp.xml_002dex1_jsp._jspx_meth_x_parse_0(org.apache.jsp.jsp.xml_002dex1_jsp:152)
         at org.apache.jsp.jsp.xml_002dex1_jsp._jspService(org.apache.jsp.jsp.xml_002dex1_jsp:70)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at
    NOTE :- I m using Tomcat 5.5.14 .
    Please help me out how to resolve this problem
    Thanks & Regards
    Rupesh Kumar

    From what I understand, it has nothing to do with your JSP and all to do with the XML it's supposed to parse. It sounds malformed. Check the first tag.

  • Org.xml.sax.SAXException: Deserializing parameter

    Hi,
    I am trying to consume a webservice using axis. I am using Spring to call the webservice. When i am doing this i am able to get a response XML, but unfortunately there was an error stating deserializing of the object is failed.
    Here are my logger statements.
    **DEBUG 12:29:52,099 [TP-Processor23] org.apache.axis.transport.http.HTTPSender - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><counterResponse xmlns="http://www.example.org/vantage/"><checkBox xmlns="">true</checkBox><terms xmlns="">oh my god... check box is clicked ..</terms></counterResponse></soapenv:Body></soapenv:Envelope>** DEBUG 12:29:52,105 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(exit00)
    DEBUG 12:29:52,110 [TP-Processor23] org.apache.axis.transport.http.HTTPSender - Exit: HTTPDispatchHandler::invoke
    DEBUG 12:29:52,115 [TP-Processor23] org.apache.axis.SimpleChain - Exit: SimpleChain::invoke
    DEBUG 12:29:52,120 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(semanticCheck00)
    DEBUG 12:29:52,126 [TP-Processor23] org.apache.axis.handlers.soap.MustUnderstandChecker - Doing SOAP semantic checks...
    DEBUG 12:29:52,131 [TP-Processor23] org.apache.axis.SOAPPart - Enter: SOAPPart::getAsSOAPEnvelope()
    DEBUG 12:29:52,136 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(currForm)
    DEBUG 12:29:52,141 [TP-Processor23] org.apache.axis.SOAPPart - current form is FORM_SOAPENVELOPE
    DEBUG 12:29:52,147 [TP-Processor23] org.apache.axis.client.AxisClient - Exit: AxisClient::invoke
    DEBUG 12:29:52,152 [TP-Processor23] org.apache.axis.SOAPPart - Enter: SOAPPart::getAsSOAPEnvelope()
    DEBUG 12:29:52,157 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(currForm)
    DEBUG 12:29:52,162 [TP-Processor23] org.apache.axis.SOAPPart - current form is FORM_SOAPENVELOPE
    DEBUG 12:29:52,167 [TP-Processor23] org.apache.axis.client.Call - Exit: Call::invoke()
    DEBUG 12:29:52,171 [TP-Processor23] org.apache.axis.SOAPPart - Enter: SOAPPart::getAsSOAPEnvelope()
    DEBUG 12:29:52,176 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(currForm)
    DEBUG 12:29:52,181 [TP-Processor23] org.apache.axis.SOAPPart - current form is FORM_SOAPENVELOPE
    DEBUG 12:29:52,191 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(pushHandler00)
    DEBUG 12:29:52,197 [TP-Processor23] org.apache.axis.encoding.DeserializationContext - Pushing handler org.apache.axis.message.RPCHandler@f81d1c
    DEBUG 12:29:52,201 [TP-Processor23] org.apache.axis.encoding.DeserializationContext - Enter: DeserializationContext::startPrefixMapping(, http://www.example.org/vantage/)
    DEBUG 12:29:52,206 [TP-Processor23] org.apache.axis.utils.NSStack - NSPush (32)
    DEBUG 12:29:52,211 [TP-Processor23] org.apache.axis.utils.NSStack - NSPush (32)
    DEBUG 12:29:52,215 [TP-Processor23] org.apache.axis.encoding.DeserializationContext - Exit: DeserializationContext::startPrefixMapping()
    DEBUG 12:29:52,220 [TP-Processor23] org.apache.axis.encoding.DeserializationContext - Enter: DeserializationContext::startElement(http://www.example.org/vantage/, counterResponse)
    DEBUG 12:29:52,225 [TP-Processor23] org.apache.axis.message.RPCHandler - Enter: RPCHandler.onStartChild()
    DEBUG 12:29:52,231 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(typeFromAttr00)
    DEBUG 12:29:52,236 [TP-Processor23] org.apache.axis.message.RPCHandler - Type from attributes is: null
    DEBUG 12:29:52,245 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(noDeser01)
    DEBUG 12:29:52,250 [TP-Processor23] org.apache.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(exception00)
    ERROR 12:29:52,255 [TP-Processor23] org.apache.axis.client.Call - Exception:
    org.xml.sax.SAXException: Deserializing parameter 'counterResponse': could not find deserializer for type {http://www.example.org/vantage/}counterResponse
    at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
    at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
    at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
    at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
    at org.apache.axis.client.Call.invoke(Call.java:2467)
    Any small help is most appreciated.

    If you have not specified an external WSDL file in your webservice where the arguments (with their types are defined) then you cannot use the type="any" in your webservice arguments.
    If you want to use an external WSDL and define the argument types there you can do this by adding wsdlfile="nameOfExternal.wsdl" style="document" to your cfcomponent tag.

  • Org.xml.sax.SAXParseException: The markup in the document preceding the roo

    Below is the XML we are using to parse:
    <?xml version="1.0" encoding="UTF-8"?>
    <ead><archdesc level="class">desc</archdesc><eadheader audience="internal"><eadid>eadid23456</eadid></eadheader></ead>
    The application throws the exception:
    org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
         at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1189)
         at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
         at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:152)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:143)
         at gov.nysed.vrc.xml.FAHandler.parse(FAHandler.java:44)
         at gov.nysed.vrc.web.actions.FAEditorDispatchAction.validateFA(FAEditorDispatchAction.java:857)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)...
    I tried using several editors and online XML syntax checkers. None of them complained. Also I tried removing the newline character or any spaces in the document. Didn't help either. I read in some of the forums that Xerces could be picky about spaces but even without any spaces, I am getting this exception.
    We are using Weblogic 8.1 and the default parsers... Any help is appreciated. - Thanks...

    The Java API documentation (the bit about character encodings) mentions "ISO-8859-1" but not "ISO8859-1". Try that instead?

Maybe you are looking for