I believe you are loading an XML parser that does not support namespaces.
Scott
----- Original Message -----
From: "Shaffin Bhanji" <[EMAIL PROTECTED]>
To: "SOAP DEV (E-mail)" <[EMAIL PROTECTED]>
Sent: Wednesday, July 04, 2001 2:57 PM
Subject: Error during Envelope.unmarshall()
> Hell All,
>
> I have a Servlet that accepts a SOAP Message, and using the
> following function parses the message and constructs a string
> to return back to the calling function. The function is as follows:
>
>
> //*******************************CODE
> START******************************************
> public StringBuffer parseEnvelope(BufferedReader in) throws Exception {
> StringBuffer buf = new StringBuffer();
> // get a DocumentBuilder
> DocumentBuilder xdb = XMLParserUtils.getXMLDocBuilder();
> // parse the message
> Document doc = xdb.parse(new InputSource(in));
> if (doc == null) {
> throw new SOAPException(Constants.FAULT_CODE_CLIENT, "parsing
error");
> }
> // build a SOAP envelope
> Envelope env = Envelope.unmarshall(doc.getDocumentElement());
> // get the body
> Body body = env.getBody();
> // loop through the elements in the body
> // and constuct a string to send back
> Vector vec = body.getBodyEntries();
> int i;
> for (i = 0; i < vec.size(); i++) {
> Node node = (Node)vec.elementAt(i);
> buf.append("Object " + i + " " + node.getPrefix() +
> Character.LINE_SEPARATOR);
> buf.append("Method " + i + " " + node.getLocalName() +
> Character.LINE_SEPARATOR);
> buf.append("Attribute " + i + " " + node.getNamespaceURI() +
> Character.LINE_SEPARATOR);
> }
> return buf;
> }
> //*******************************CODE
> END******************************************
>
> When I get into this function, I get the following error when the
> envelope unmarshalls the document.
>
> //*******************************ERROR
> START******************************************
> java.lang.NoSuchMethodError at
> org.apache.soap.util.xml.QName.<init>(QName.java:80) at
> org.apache.soap.util.xml.QName.matches(QName.java:146) at
> org.apache.soap.Envelope.unmarshall(Envelope.java:237) at
> org.apache.soap.Envelope.unmarshall(Envelope.java:228) at
> com.plexus.rsfprocessor.SOAPParser.parseEnvelope(SOAPParser.java:40) at
>
com.plexus.rsfprocessor.RSFProcessorServlet.doPost(RSFProcessorServlet.java:
> 38) 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)
> //*******************************ERROR
> END******************************************
>
> Can someone please help!!!
>
> Thanks,
> Shaffin.
>