SOAP vs other xml parsers

Hi,
I'm fairly new to jms and was wondering what are the advantages of using SOAP vs any xml parser (xerces, jaxb) and sending it as a regular text message?
Thanks

SOAP isn't just 'another XML parser', it's a fully fledged RPC protocol with an interface description language and all the rest of it.

Similar Messages

  • Why other xml parsers won' work?

    i hav a reqm't of loading java classes into the d'base and one of those classes uses xslt processor to convert a xml to html the xsl is embedded as a string in the java code itself, i create a jar file with apache xalan parser and load it into d'base but at runtime i'm getting
    "String Index out of Bounds exception"
    so i changed the parser to oracle xsl parser now it works fine why is it so?
    our entire development team uses the xalan parser for various purposes so i can' use oracle parser for this purpose alone as it makes the system inconsistent.
    will anyone from oracle come forward to provide a solution.
    thanks

    This is not a Xalan issue, but a Xerces issue. When Xerces is installed inside Oracle8i, it runs into a bug in the VM related to System.arrayCopy() for multi-dimensional arrays of scalars.
    The bug has been fixed in 8.1.7, so it should work fine there.
    I guess our XML components don't ever do array copies of multi-dimensional arrays, so they don't run into the bug.

  • Error in SOAP Adapter because XML is big

    <b>Hi guys! I have a SOAP Adapter (Sender) that works fine when the XML it receives is small. If the XML is big, this error happens:</b><br><br><br>
    java.lang.NullPointerException; nested exception caused by:
    java.lang.NullPointerException; nested exception caused by:
    com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 6e, 74, 6f(:main:, row:1, col:3)(:main:, row=1, col=3) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 6e, 74, 6f(:main:, row:1, col:3)
         at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2785)
         at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
         at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
         at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
         at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
         at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125)
         at javax.xml.parsers.SAXParser.parse(Unknown Source)
         at javax.xml.parsers.SAXParser.parse(Unknown Source)
         at com.sap.aii.messaging.util.StreamXMLScannerImpl$EventProducer.run(StreamXMLScannerImpl.java:598)
         at java.lang.Throwable.<init>(Throwable.java:56)
         at java.lang.Throwable.<init>(Throwable.java:67)
         at org.xml.sax.SAXException.<init>(Unknown Source)
         at org.xml.sax.SAXParseException.<init>(Unknown Source)
         at com.sap.engine.lib.xml.parser.NestedSAXParseException.<init>(NestedSAXParseException.java:23)
         at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144)
         at javax.xml.parsers.SAXParser.parse(Unknown Source)
         at javax.xml.parsers.SAXParser.parse(Unknown Source)
         at com.sap.aii.messaging.util.StreamXMLScannerImpl$EventProducer.run(StreamXMLScannerImpl.java:598)
    Caused by: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 6e, 74, 6f(:main:, row:1, col:3)
         at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2785)
         at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
         at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
         at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
         at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
         at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125)
         ... 3 more
    <br><br><br>
    <b>ps: the big XML is well formed! It seems the application server refuses the http request (the message does not appear at SXMB_MONI)</b><br><br>
    thanks in advance<br><br>
    Julio

    Julio,
    Are you sure that XML is correct?
    No data allowed here: (hex) 6e, 74, 6f(:main:, row:1, col:3)
    I also see Parse exceptions at different lines?
    check the NOTE : 931765 @
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=931765
    Check if the incoming XML has style informaton associated with it. Refer to following link for more info.
    http://schemas.xmlsoap.org/soap/envelope/
    If the problem still persists, Restart J2EE Instance.
    Regards,
    Venkat.
    Edited by: Venkat Anusuri on Jun 3, 2009 5:34 PM

  • Package javax.xml.parsers does not exist

    When I compile the sample program for xml, DOMEcho.java, or any other xml java program, I get errors on the import statements.
    For all the import statements within java.xml.* I get an error message such as: package javax.xml.parsers does not exist.
    I have my path and classpath variables set as follows.
    REM Java initialization
    SET PATH=c:\Documents and settings\User\jwsdp-1_0_01\bin;c:\j2sdkee1.3.1\bin;c:\jdk1.3.1_01\bin;%PATH%
    SET JAVA_HOME=c:\j2sdkee1.3.1_01
    SET JAVA_XML_PACK_HOME=c:\java_xml
    SET JAXM_HOME=c:\java_xml\java_xml_pack-summer-02_01\jaxm-1.1_01
    SET JAXP_HOME=c:\java_xml\java_xml_pack-summer-02_01\jaxp-1.2_01
    SET JAXR_HOME=c:\java_xml\java_xml_pack-summer-02_01\jaxr-1.0_02
    SET JAXRPC_HOME=c:\java_xml\java_xml_pack-summer-02_01\jaxrpc-1.0_01
    SET CLASSPATH=c:\Documents and settings\User\jwsdp-1_0_01\bin;c:\Documents and settings\User\jwsdp-1_0_01
    SET CLASSPATH=%CLASSPATH%;c:\jdk1.3.1_01\bin;c:\jdk1.3.1;
    SET CLASSPATH=%CLASSPATH%;c:\java_xml\java_xml_pack-summer-02_01\jaxm-1.1_01;
    SET CLASSPATH=%CLASSPATH%;c:\java_xml\java_xml_pack-summer-02_01\jaxp-1.2_01;
    SET CLASSPATH=%CLASSPATH%;c:\java_xml\java_xml_pack-summer-02_01\jaxr-1.0_02;
    SET CLASSPATH=%CLASSPATH%;c:\java_xml\java_xml_pack-summer-02_01\jaxrpc-1.0_01
    Any ideas?

    Now that the first program compiled I tried another sample program:
    StandAlone.java and
    got the same errors.
    * $Id: StandAlone.java,v 1.10 2002/04/06 00:47:31 mode Exp $
    * $Revision: 1.10 $
    * $Date: 2002/04/06 00:47:31 $
    * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
    * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    This program starts with...
    import java.io.*;
    import javax.xml.soap.*;
    import java.net.URL;
    import javax.mail.internet.*;
    import javax.xml.transform.*;
    import javax.xml.transform.stream.*;
    import org.dom4j.*;
    * A StandAlone JAXM Client.
    public class StandAlone {

  • Two xml parsers

    Hi all!
    I have two different xml parsers (V2 and xerces) in my shared/lib directory of tomcat.
    If i dont put xerces in there, web service related code gives me following runtime exception...
    java.lang.NoClassDefFoundError: com/sun/org/apache/xerces/internal/dom/DocumentImpl
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at org.apache.tools.ant.loader.AntClassLoader2.defineClassFromData(AntClassLoader2.java:76)
    at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1090)
    at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1154)
    at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1107)
    at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:983)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at com.sun.xml.messaging.saaj.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:63)
    at com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.<init>(SOAPPart1_1Impl.java:29)
    at com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:52)
    at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:672)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:87)
    at clientStub.Wstest_Stub.getEchoInt(Wstest_Stub.java:225)
    at client.wstestclient.main(wstestclient.java:21)
    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:585)
    at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:202)
    at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:134)
    at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
    at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
    at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
    at org.apache.tools.ant.Task.perform(Task.java:364)
    at org.apache.tools.ant.Target.execute(Target.java:341)
    at org.apache.tools.ant.Target.performTasks(Target.java:369)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
    at org.apache.tools.ant.Main.runBuild(Main.java:668)
    at org.apache.tools.ant.Main.startAnt(Main.java:187)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)but if i put xerces in there then the line (in another part of the code)
    (XMLDocument)docgives me following exception...
    Eligibility Request - Exception Occured.java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl
    at org.apache.jsp.ElgReq.jsp.ElgReqResponse_005fNCCI_jsp._jspService(org.apache.jsp.ElgReq.jsp.ElgReqResponse_005fNCCI_jsp:225)
    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:322)
    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.Http11AprProcessor.process(Http11AprProcessor.java:831)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:652)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
    at java.lang.Thread.run(Thread.java:595) How can i eliminate this problem and still have both parsers in my classpath??
    Any help is highly appreciated.

    Version 2.0 is the latest release that is bundled with Oracle8i. Use the 2.0 releases as their functionality and performance is much better.

  • Experiences with Adobe XPAAJ, XML Parsers, OC4J /AS 10.1.2,10.1.3 and DB10g

    Over the past couple of weeks we have been working on a solution which uses the newly available adobe XPAAJ api's (XML/PDF Access API for Java) for Java.
    The client has a legacy requirement to where users are issued with a pdf form which they complete, save and upload to the server via a JSP. A neat bit of Java code utilizing the XPAAJ API's then strips out the form entered data and spits out XML. This is then parsed and inserted into relational tables within the schema.
    Our solution needs to be deployed to an Oracle stack. However we ran into a number of problems when deploying the solution to AS 10.1.2. The adobe API's are not compatible with the Oracle XML Parsers. When extracting the form data, no error is reported and the code which performs the xml parsing just fails. Very nasty.
    The main problem has been that Oracle XDK libraries have been hard-coded into the classpath of the container using the referential JAR file Class-Path mechanism. Altering this has required the use of the JRE extension library mechanism, or altering the boot classpath of the JVM when it is launched to load the alternative XML parser implementation instead. While this works, it has been an unsupported operation since the effect of this change is not limited to a specific application – it’s effect are felt across the entire container and this may lead to unpredictable results at runtime.
    ~http://www.oracle.com/technology/tech/java/oc4j/10131/how_to/how-to-swapxmlparser/doc/readme.html
    We did look at a number of other solutions including embedding the java classes I'd written into the database. After loading the apache Xerces api's into our schema we hit upon the same problem. It seems that the same thing happens in the database and the Oracle XML parser is used by default.. Please see SR Number : 6153038.994 on Metalink.
    If you can upgrade to AS 10.1.3 then you can follow the excellent how to at:http://www.oracle.com/technology/tech/java/oc4j/10131/how_to/how-to-swapxmlparser/doc/readme.html . Demo code can be found at: http://www.oracle.com/technology/tech/java/oc4j/10131/how_to/how-to-swapxmlparser/how-to-swapxmlparser.zip
    The how-to details how to swap xml parsers within the application server.
    Other possible solutions that are also available include:
    - Shelling out to the OS from the DB or Apps Server, You can then execute the app as a command line app with a custom classpath. Very bad architecture design.
    - Setting up an RMI client / server application where client is the db or apps server. You can find examples of this on the web. google 'Simple RMI example'.
    - Bootstrapping the XML parser in AS 10.1.2 (unsupported).
    I hope people have found this informative. It might save someone a lot of time.
    Message was edited by:
    Kris Jones

    "When I was installing SOA 10.1.3.1.0 on oracle 10.2.0.1 and it was giving error that it needs minimum 10.2.0.3, just wondering 10.1.2.0.2 + SOA =will this work?"
    so you talk about the db version. SOA 10.1.3.x runs on 10.2.0.1 and above (I ran for the longest time on XE) and if I remember correctly that's a warning, and not a hard prereq.
    Regarding Appserver versions - soa 10.1.3 runs on AS 10.1.3 only

  • Weblogic 12g Server - EAR with WAR - how can I have different XML parsers

    Hi All,
    I have a requirement where I need to have two different XML parsers in the same enterprise application.
    By backend Spring container require a XML parser and my JSP code which has XSLT logic require another XML parser.
    If I specify -D System property then it is applied to the whole Enterprise application. Instead I want a way to specify different XML parsers one for Spring backend container and the other for JSP pages.
    I am deploying my application in Weblogic and it is an EAR file.
    Thanks in Advance,
    Kishore Veleti A.V.K.

    check this one.
    -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

  • SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: Exception during processi

    Hi: We are using weblogic81 sp3. Other developers in my office ran the same porgram and got no errors.
    My startWebLogic.cmd are configured exactly same as theirs.
    My startWebLogic classpath:
    set CLASSPATH=%WL_HOME%\server\lib\ojdbc14.jar;%WL_HOME%\server\lib\CR122067_81sp3.jar;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%
    I keep getting this webservice error.
    SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: Exception during processing: w
    eblogic.xml.schema.binding.DeserializationException: mapping lookup failure. typ
    e=['java:language_builtins.util']:ArrayList schema context=TypedSchemaContext{ja
    vaType=[Ljava.lang.Object;} (see Fault Detail for stacktrace)
    Detail:
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webse
    rvice/fault/1.0.0">weblogic.xml.schema.binding.DeserializationException: mapping
    lookup failure. type=['java:language_builtins.util']:ArrayList schema context=T
    ypedSchemaContext{javaType=[Ljava.lang.Object;}
    at weblogic.xml.schema.binding.RuntimeUtils.lookup_deserializer(RuntimeU
    tils.java:461)
    thank you for your help

    we used castor to do xml mapping

  • Java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException

    Hi, I created a webservice using weblogic8.1 sp3 workshop. On my desktop, I tested the webservice with a java client and it worked fine. When I deployed webservice application on UNIX production server, it deployed successfully and it displayed WSDL file too. But, when I run java client from desktop to access this webservice on UNIX server, it is throwing the following exception.
    java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    Detail:
    <detail>
    null </detail>; nested exception is:
    javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:31)
    at SoapClient.main(SoapClient.java:17)
    Caused by: javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.webservice.core.ClientDispather.receive(ClientDispatcher.java:313)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:290)
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:26)
    can somebody please help me. This is very critical for me.
    Thanks in advance.

    Hi, I created a webservice using weblogic8.1 sp3 workshop. On my desktop, I tested the webservice with a java client and it worked fine. When I deployed webservice application on UNIX production server, it deployed successfully and it displayed WSDL file too. But, when I run java client from desktop to access this webservice on UNIX server, it is throwing the following exception.
    java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    Detail:
    <detail>
    null </detail>; nested exception is:
    javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:31)
    at SoapClient.main(SoapClient.java:17)
    Caused by: javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.webservice.core.ClientDispather.receive(ClientDispatcher.java:313)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:290)
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:26)
    can somebody please help me. This is very critical for me.
    Thanks in advance.

  • How to test SOAP request using XML SPY

    Hi,
    1. I am new to WebServices concept, I have downloaded the wsdl file and now I need to test the SOAP requests using XML Spy. However, when I try to test the SOAP request generated by XML Spy I receive an error "Internal Error: Session is not available. Aborting" , How do I go ahead to generate the session, Is there a way I can provide the Username and password in the XML Spy to generate something like session.
    2. The second problem that I am facing is when I import the WSDL in XML Spy and generate the SOAP request, for all the fields xml tags gets populated with "aaaaaaaaaaaa" kind of data through out. Am i doing something wrong ? Is there some step while creating a SOAP request that I am missing becasue of which the gibbrish data is being populated as default ?
    Please Help !
    Thanks .

    I got my SOAP Requests tested using SOAP UI .. However I am still looking for ways to test it using XML SPY.
    In the SOAP UI Tool just do right click and select Add WS Security Token ..
    Thanks :)

  • Exception with javax.xml.parsers.FactoryConfigurationError

    I have a code segment that is working in a Java standalone application environment. I've taken the same segment and ran it in Lotus Domino's environment, with the following error,
    javax.xml.parsers.FactoryConfigurationError: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
    Can anyone help?

    I changed a switch within the Lotus Domino environment to allow class loader, but now I'm getting a different error,
    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.crimson.jaxp.DocumentBuilderFactoryImpl not found
    Any idea?

  • Java.lang.NullPointerException javax.xml.parsers.DocumentBuilder.parse

    Hi all,
    i have a problem by solving an error in my code. The Code is mainly from Ian Darwin.
    The code i am running works with j2sdk1.4.2_04. But now i have to bring it to work with jdk1.6.0_13.
    The code parses xml documents. With small xml documents the code works. With large xml documents i get the following error while running the produced class file.
    Exception in thread "main" java.lang.NullPointerException
    at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.setChunkIndex(DeferredDocumentImpl.java:1944)
    at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.appendChild(DeferredDocumentImpl.java:644)
    at com.sun.org.apache.xerces.internal.parsers.AbstractDOMParser.characters(AbstractDOMParser.java:1191)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.characters(XMLDTDValidator.java:862)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:463)
    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.DOMParser.parse(DOMParser.java:225)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
    at XParse.parse(XParse.java:38)
    at XParse$JFileChooserrv.<init>(XParse.java:119)
    at XParse.main(XParse.java:213)
    I know what a java.lang.NullPointerException mens. But i don't know where i have to look for. Specially i don't know what or where "com.sun.org.apache...." is.
    Is there a package that a have to add to the environment? Can some one tell my where i can find this package?
    I wrote the code for some years ago, 2006 or so. With the knew jdk1.6.0_13 some thinks chance in the environment. Couldn't find what exactly.
    The code has only 215 lines, but some how i can't add it to this Message, because Maximum allowed is only 7500.
    Is there an other Forum, which may is better for my question?

    Here is the code:
    import java.io.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    import java.awt.Container;
    import javax.swing.JTextArea;
    * This code is mainly from @author Ian Darwin, [email protected]
    public class XParse {
         /** Convert the file */
         public static void parse(File file, boolean validate) {
              try {
                   System.err.println("");
                   String fileName = file.getAbsolutePath();
                   System.err.println("Parsing " + fileName + "...");
                   // Make the document a URL so relative DTD works.
                   //String uri = new File(fileName).getAbsolutePath();
                   //System.err.println(uri);
                   DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
                   if (validate)
                   f.setValidating(true);
                   DocumentBuilder p = f.newDocumentBuilder();
                   p.setErrorHandler(new MyErrorHandler(System.err));
                   //XmlDocument doc = XmlDocument.createXMLDocument(file);
                   boolean vaild =  p.isValidating();
                   if (vaild) {
                        System.out.println("yes parsing");
                        Document doc = p.parse(file); // <<<< ERROR
                   System.out.println("Parsed OK");
              } catch (SAXParseException ex) {
                   System.err.println("+================================+");
                   System.err.println("|       *SAX Parse Error*        |");
                   System.err.println("+================================+");
                   System.err.println(ex.toString());
                   System.err.println("At line " + ex.getLineNumber());
                   System.err.println("+================================+");
              } /**catch (RuntimeException ex) {
                   System.err.println("+================================+");
                   System.err.println("|       *SAX Parse Error*        |");
                   System.err.println("+================================+");
                   System.err.println(ex.toString());
                   //System.err.println("At line " + ex.getLineNumber());
                   //System.err.println("At line " + ex.getMessage());
                   System.err.println("+================================+");
              }**/ catch (SAXException ex) {
                   System.err.println("+================================+");
                   System.err.println("|          *SAX Error*           |");
                   System.err.println("+================================+");
                   System.err.println(ex.toString());
                   System.err.println("+================================+");
              /*}} catch (SAXNotRecognizedException  ex) {
                   System.err.println(" no SAX");*/
              } catch (ParserConfigurationException ex) {
                   System.err.println(" ???");
               } catch (IOException ex) {
                   System.err.println("+================================+");
                   System.err.println("|           *XML Error*          |");
                   System.err.println("+================================+");
                   System.err.println(ex.toString());
    private static class JFileChooserrv {
         JFileChooserrv(JFrame f, boolean vverabreiten) {
              String openfile;
              String verror;
              boolean validate = true;
              final JFrame frame = f;
              String vFilename = "Z:\\Boorberg\\parsen_vista\\daten";
              //String vFilename = "C:\\";
              File vFile = new File(vFilename);
              final JFileChooser chooser = new JFileChooser(vFile);
              JFileFilter filter = new JFileFilter();
              filter.addType("xml");
              filter.addType("sgml");
              filter.addType("html");
              filter.addType("java");
              filter.setDescription("strukturfiles");
              chooser.addChoosableFileFilter(filter);
              boolean vjeas = true;
              chooser.setMultiSelectionEnabled(vjeas);
              int returnVal = chooser.showOpenDialog(frame);
              if (returnVal == JFileChooser.APPROVE_OPTION) {
                   //Array  filearry[] = chooser.getSelectedFiles();
                   //if (vFile = chooser.getSelectedFiles()) {
                   //File  file[] = chooser.getSelectedFiles();
                   File  vfile[] = chooser.getSelectedFiles();
                   //String openfile = new String();
                   int vlenght = vfile.length;
                   if (vlenght>1) {
                        int x=0;
                        while (x< vlenght) {
                                  parse(vfile[x], validate);
                                  x = x +1;
                   if (vlenght<=1) {
                        File v2file = chooser.getSelectedFile();
                             parse(v2file, validate);
              } else {
                   System.out.println("You did not choose a filesystem           object.");
         System.exit(0);
    private static class JFileFilter extends javax.swing.filechooser.FileFilter {
         protected String description, vnew;
         protected ArrayList<String> exts = new ArrayList<String>();
         protected boolean vtrue;
         public void addType(String s) {
              exts.add(s);
         /** Return true if the given file is accepted by this filter. */
         public boolean accept(File f) {
              // Little trick: if you don't do this, only directory names
              // ending in one of the extentions appear in the window.
              if (f.isDirectory()) {
                   return true;
              } else if (f.isFile()) {
                   Iterator it = exts.iterator();
                   while (it.hasNext()) {
                        if (f.getName().endsWith((String)it.next()))
                             return true;
              // A file that didn't match, or a weirdo (e.g. UNIX device file?).
              return false;
         /** Set the printable description of this filter. */
         public void setDescription(String s) {
              description = s;
         /** Return the printable description of this filter. */
         public String getDescription() {
              return description;
    private static class MyErrorHandler implements ErrorHandler {
            // Error handler output goes here
            private PrintStream out;
            MyErrorHandler(PrintStream out) {
                this.out = out;
             * Returns a string describing parse exception details
            private String getParseExceptionInfo(SAXParseException spe) {
                String systemId = spe.getSystemId();
                if (systemId == null) {
                    systemId = "null";
                String info = "URI=" + systemId +
                    " Line=" + spe.getLineNumber() +
                    ": " + spe.getMessage();
                return info;
            // The following methods are standard SAX ErrorHandler methods.
            // See SAX documentation for more info.
            public void warning(SAXParseException spe) throws SAXException {
                   //System.exit(0);
                //out.println("Warning: " + getParseExceptionInfo(spe));
            public void error(SAXParseException spe) throws SAXException {
                   //System.exit(0);
                String message = "Error: " + getParseExceptionInfo(spe);
                throw new SAXException(message);
            public void fatalError(SAXParseException spe) throws SAXException {
                   //System.exit(0);
                String message = "Fatal Error: " + getParseExceptionInfo(spe);
                throw new SAXException(message);
         public static void main(String[] av) {
              JFrame vframe = new JFrame("chose files to pars");
              boolean vverabreiten = true;
              boolean validate = true;
              JFileChooserrv vdateienwaehlen = new JFileChooserrv(vframe, vverabreiten);
    }The Stack Trace i posted in the last Message. But i couldn't read it, i am not a programmer.

  • Java XML parsers for Sun J2ME, Sun KVM

    Here is a list of "small" XML parsers.
    Some are specifically for the J2ME platform / Sun KVM:
    kXML
    http://kxml.enhydra.org/
    NanoXML
    http://nanoxml.sourceforge.net/
    TinyXML
    http://www.gibaradunn.srac.org/tiny/index.shtml
    MinML
    http://www.wilson.co.uk/xml/minml.htm
    XMLtp
    http://sourceforge.net/projects/jxmltp/
    Al Sutton XML parser
    http://sourceforge.net/projects/asxmlp/
    Also:
    JSR 118 is a specification for the "Mobile Information Device
    Next Generation"
    http://www.jcp.org/jsr/detail/118.jsp
    The JSR 118 group is considering adding a "small, efficient XML parser to enable platform-independent data exchange" to MIDP.

    Fastparser is a 25Ko parser : http://www.japisoft.com/fastparser
    Best regards,
    A.Brillant

  • What is payload, xi-soap message and xml payload....

    can any 1 explains abt What is payload, xi-soap message and xml payload....

    Hi Shiva,
    see this abstract from messages file:
    "The SOAP header of a message contains all the important information that the Integration Server requires to forward the message, while the payload contains the actual business data (such as <PurchaseOrder> in the example above). <b>You can also append an unlimited number of attachments to the message before it is sent. Attachments typically comprise non-XML data, for example, pictures, text documents, or binary data."</b>
    Check this link for more info:
    http://help.sap.com/saphelp_nw04/helpdata/en/b6/0b733cb7d61952e10000000a11405a/content.htm
    Regards,
    Subhasha

  • XML parsers in JAVA

    Hi all,
    I need to parse XML files in JAVA. Is there any specific package in java for XML parsing?

    Example for using DOM :
    import java.io.File;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    // using DOM
    public class ParseXML_Dom {
        public static void main(String[] args) {
            File file = new File("test.xml");
            try {
                DocumentBuilder builder =
                        DocumentBuilderFactory.newInstance().newDocumentBuilder();
                Document doc = builder.parse(file);
                NodeList nodes = doc.getElementsByTagName("topic");
                for (int i = 0; i < nodes.getLength(); i++) {
                    Element element = (Element) nodes.item(i);
                    NodeList title = element.getElementsByTagName("title");
                    Element line = (Element) title.item(0);
                    System.out.println("Title: " + getCharacterDataFromElement(line));
                    NodeList url = element.getElementsByTagName("url");
                    line = (Element) url.item(0);
                    System.out.println("Url: " + getCharacterDataFromElement(line));
            } catch (Exception e) {
                e.printStackTrace();
         The file "text.xml" might contain this :
    <?xml version="1.0"?>
    <howto>
      <topic>
          <title>Searching</title>
          <url>http://www.google.com</url>
      </topic>
        <topic>
          <title>Masturbation</title>
          <url>http://www.jackinworld.com</url>
      </topic>
          <topic>
            <title>Shopping</title>
            <url>http://www.amazon.com</url>
      </topic>
          <topic>
            <title>Sound</title>
            <url>http://www.dailywav.com</url>
      </topic>
    </howto>
        public static String getCharacterDataFromElement(Element e) {
            Node child = e.getFirstChild();
            if (child instanceof CharacterData) {
                CharacterData cd = (CharacterData) child;
                return cd.getData();
            return "?";
    }

Maybe you are looking for

  • Error re-logging in after session timeout using form-based authentication

    Hello, We have a web app configured for form-based authentication. When the session times out, we're redirected to our login page as expected. However, after re-logging in, we are not redirected to the desired page (e.g., /faces/OurMainPage.jspx) but

  • Need help for formating text output

    Is there a way to dynamically store special characters(eg. new line character) into a text field? This is because, the data is inserted into the DB from a textbox where the user divides the text into several lines but when it is viewed, it is just a

  • When I press Next it skips 3 songs

    I have an iPod Nano 4GB Version 1.3.1. Recently, whenever I press the Next button, it skips ahead 3 songs. I wonder if it's just getting old, because if I also need to press the Back button a little harder than normal to get it to respond. Also, ofte

  • Raw update needed but not possible

    Lightroom 5 keeps complaining that I need to update Pshop's raw app to 8.3. In Photoshop CC, the Update menu results in "everything is up to date"  -- even though Raw 8.2 is there. -- I tried the super-secret Raw update installer. It resulted in an "

  • 2.1 EA1 - Compile buttons

    Why the two Compile and Compile for debug buttons are now hidden in a drop-down selection? And why if I click directly on that object the default behavior is Compile for debug (at least that's what I infer judging by the icon that is shown on the pac