You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by Rich Leick <rl...@globalcrossing.com> on 2001/02/06 21:22:36 UTC

SAXParseException

Hey all.  I was wondering if anyone could help me with this.

We have set up an apache web server on unix running tomcat as the
servlet engine and installed the soap add ons.
I am able to run the XML-SOAP admin application and deploy services.

What I am trying to do is call a method in a test class:
import org.w3c.dom.Element;
import org.apache.soap.util.xml.*;

public class MySoapTest
{
  private XMLParserLiaison xpl = new XercesParserLiaison();

  public void SoapCall( Element rootElement )
  {
    System.err.println( "made it into the SoapCall" );
  }
}

My client class creates a new call object and invokes the call by doing
the following
    Element TestRequest = w3doc.createElement( "TestRequest" );
    Element Record1;
    Record1 = w3doc.createElement( "auth" );
    Record1.appendChild( w3doc.createTextNode( "HotGnibGnabs" ) );
    TestRequest.appendChild( Record1 );
    URL url = new URL(
"http://mysoapserver:myport/soap/servlet/rpcrouter" );
    Vector params = new Vector();
    params.addElement( new Parameter( "OverAll", Element.class,
TestRequest, Constants.NS_URI_LITERAL_XML ) );

    Call call = new Call ();
    call.setTargetObjectURI( "urn:soaptest" );
    call.setMethodName( "SoapCall" );
    call.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );
    call.setParams( params );

    Response resp = call.invoke( url, "" );


However the response is failing with the following error(s):

Looking at some of the ouput, do I need to write a
serializer/deserializer for the org.w3c.dom.Element type?  I thought
this existed already.  Or is it something simple that I am missing.  I
do have the xercers.jar file as the first file in the CLASSPATH.

Any help is greatly appreciated.

org.xml.sax.SAXParseException: The markup in the document following the
root element must be well-formed.
        at
org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:969)
        at
org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:625)

        at
org.apache.xerces.framework.XMLDocumentScanner.abortMarkup(XMLDocumentScanner.java:679)

        at
org.apache.xerces.framework.XMLDocumentScanner$TrailingMiscDispatcher.dispatch(XMLDocumentScanner.java:1496)

        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:380)

        at
org.apache.xerces.framework.XMLParser.parse(XMLParser.java:861)
        at
org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)

        at org.apache.soap.rpc.Call.invoke(Call.java:157)
        at TestCall.main(TestCall.java:47)
Caught SOAPException (SOAP-ENV:Protocol): <h1>Error: 500</h1>
<h2>Location: /soap/servlet/rpcrouter</h2><b>Internal Servlet
Error:</b><br><pre>javax.servlet.ServletException: Error building
response envelope
        at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java,
Compiled Code)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java,
Compiled Code)
        at org.apache.tomcat.core.Handler.service(Handler.java, Compiled
Code)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java,
Compiled Code)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java,
Compiled Code)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java,
Compiled Code)
        at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java,
Compiled Code)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
</pre>
<b>Root cause:</b>
<pre>java.lang.IllegalArgumentException: No Serializer found to
serialize a 'org.w3c.dom.Element' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.
        at
org.apache.soap.util.xml.XMLJavaMappingRegistry.querySerializer(XMLJavaMappingRegistry.java,
Compiled Code)
        at
org.apache.soap.encoding.SOAPMappingRegistry.querySerializer(SOAPMappingRegistry.java,
Compiled Code)
        at
org.apache.soap.encoding.soapenc.ParameterSerializer.marshall(ParameterSerializer.java,
Compiled Code)
        at org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java,
Compiled Code)
        at org.apache.soap.Body.marshall(Body.java, Compiled Code)
        at org.apache.soap.Envelope.marshall(Envelope.java, Compiled
Code)
        at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java,
Compiled Code)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java,
Compiled Code)
        at org.apache.tomcat.core.Handler.service(Handler.java, Compiled
Code)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java,
Compiled Code)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java,
Compiled Code)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java,
Compiled Code)
        at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java,
Compiled Code)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
</pre>