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 Gus Delgado <gu...@netquotient.com> on 2000/11/28 19:29:22 UTC
passing XML
Does anyone know how to pass pure XML files from the client to the server,
I'm currently creating an xml document and then doing:
Element root = doc.getDocumentElement();
then passing that Element as an argument in the Parameter class. The server
side the has the method 'request' with an Argument of Element. but what if
the client is a VB client and it doest know that Element class?
help in much appreciated.
Re: passing XML
Posted by Ashutosh Somani <as...@MIT.EDU>.
Hi,
Maybe I missed it, but did anyone have an answer to the following question?
At 12:29 PM 11/28/2000 -0600, you wrote:
>Does anyone know how to pass pure XML files from the client to the server,
>I'm currently creating an xml document and then doing:
>
>Element root = doc.getDocumentElement();
Since I can't find a way, I am also doing the same thing. However, in my
case I
need to have the client send two strings and have the server return the XML
element.
Thus, I have the following code for the client side:
.....
Call call = new Call();
call.setTargetObjectURI("urn:InfoFetcher");
call.setMethodName("getInfo");
call.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML); //NOTE ENCODING STYLE
Vector params = new Vector();
params.addElement(new Parameter("filename", String.class,
filename, Constants.NS_URI_SOAP_ENC));
??NOTE ENCODING STYLE
params.addElement(new Parameter("query", String.class,
query, Constants.NS_URI_SOAP_ENC));
call.setParams(params);
// Invoke the call.
Response resp;
System.out.println("TEST1");
try
{
resp = call.invoke(url, "");
}
This line fails and I get the following error message on the server side:
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:1008)
at
org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocume
ntScanner.java:625)
at
org.apache.xerces.framework.XMLDocumentScanner.abortMarkup(XMLDocumentScanne
r.java:679)
at
org.apache.xerces.framework.XMLDocumentScanner$TrailingMiscDispatcher.dispat
ch(XMLDocumentScanner.java:1496)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:380)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
at
org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)
at org.apache.soap.rpc.Call.invoke(Call.java:157)
at samples.ash.GetInfo.main(GetInfo.java:55)
Caught SOAPException (SOAP-ENV:Protocol): <h1>Error: 500</h1>
<h2>Location: /soap/servlet/rpcrouter</h2><b>Internal Servlet Error:</b><br>
<pre>
java.lang.AbstractMethodError
at org.apache.soap.util.xml.DOM2Writer.print(DOM2Writer.java:138)
at org.apache.soap.util.xml.DOM2Writer.serializeAsXML(DOM2Writer.java:98)
at org.apache.soap.Utils.marshallNode(Utils.java:142)
at
org.apache.soap.encoding.literalxml.XMLParameterSerializer.marshall(XMLParam
eterSerializer.java:109)
at org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java:260)
at org.apache.soap.Body.marshall(Body.java:141)
at org.apache.soap.Envelope.marshall(Envelope.java:180)
at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:343)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
at org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:160)
at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:484)</pre>
Does anyone have any idea what might be wrong? Is it a problem with the
encoding
style? I'm not sure what it means by well formed root element.
Any information would be most helpful.
Ash
Re: passing XML
Posted by Ashutosh Somani <as...@MIT.EDU>.
Hi,
Maybe I missed it, but did anyone have an answer to the following question?
At 12:29 PM 11/28/2000 -0600, you wrote:
>Does anyone know how to pass pure XML files from the client to the server,
>I'm currently creating an xml document and then doing:
>
>Element root = doc.getDocumentElement();
Since I can't find a way, I am also doing the same thing. However, in my
case I
need to have the client send two strings and have the server return the XML
element.
Thus, I have the following code for the client side:
.....
Call call = new Call();
call.setTargetObjectURI("urn:InfoFetcher");
call.setMethodName("getInfo");
call.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML); //NOTE ENCODING STYLE
Vector params = new Vector();
params.addElement(new Parameter("filename", String.class,
filename, Constants.NS_URI_SOAP_ENC));
??NOTE ENCODING STYLE
params.addElement(new Parameter("query", String.class,
query, Constants.NS_URI_SOAP_ENC));
call.setParams(params);
// Invoke the call.
Response resp;
System.out.println("TEST1");
try
{
resp = call.invoke(url, "");
}
This line fails and I get the following error message on the server side:
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:1008)
at
org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocume
ntScanner.java:625)
at
org.apache.xerces.framework.XMLDocumentScanner.abortMarkup(XMLDocumentScanne
r.java:679)
at
org.apache.xerces.framework.XMLDocumentScanner$TrailingMiscDispatcher.dispat
ch(XMLDocumentScanner.java:1496)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:380)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
at
org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)
at org.apache.soap.rpc.Call.invoke(Call.java:157)
at samples.ash.GetInfo.main(GetInfo.java:55)
Caught SOAPException (SOAP-ENV:Protocol): <h1>Error: 500</h1>
<h2>Location: /soap/servlet/rpcrouter</h2><b>Internal Servlet Error:</b><br>
<pre>
java.lang.AbstractMethodError
at org.apache.soap.util.xml.DOM2Writer.print(DOM2Writer.java:138)
at org.apache.soap.util.xml.DOM2Writer.serializeAsXML(DOM2Writer.java:98)
at org.apache.soap.Utils.marshallNode(Utils.java:142)
at
org.apache.soap.encoding.literalxml.XMLParameterSerializer.marshall(XMLParam
eterSerializer.java:109)
at org.apache.soap.rpc.RPCMessage.marshall(RPCMessage.java:260)
at org.apache.soap.Body.marshall(Body.java:141)
at org.apache.soap.Envelope.marshall(Envelope.java:180)
at
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:343)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
at org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:160)
at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
at java.lang.Thread.run(Thread.java:484)</pre>
Does anyone have any idea what might be wrong? Is it a problem with the
encoding
style? I'm not sure what it means by well formed root element.
Any information would be most helpful.
Ash