org.xml.sax.SAXParseException: The root element is required in a well-formed document
I'm getting the following error on WebSphere 6.1 running Spring WS RC2:
Code:
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG web.servlet.DispatcherServlet - DispatcherServlet with name 'spring-ws' received request for [/mws/services/ListCodeValues]
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG web.servlet.DispatcherServlet - Bound request context to thread: com.ibm.ws.webcontainer.srt.SRTServletRequest@3cba3cba
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG web.servlet.DispatcherServlet - Testing handler map [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@36ea36ea] in DispatcherServlet with name 'spring-ws'
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG servlet.handler.SimpleUrlHandlerMapping - Looking up handler for[/ListCodeValues]
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG web.servlet.DispatcherServlet - Testing handler adapter [org.springframework.ws.transport.http.WsdlDefinitionHandlerAdapter@17d617d6]
[6/21/07 17:44:49:486 EDT] 00000027 SystemOut O 2007-06-21 17:44:49,486 [] DEBUG web.servlet.DispatcherServlet - Testing handler adapter [org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter@2dc42dc4]
[6/21/07 17:45:01:704 EDT] 00000027 SystemOut O 2007-06-21 17:45:01,704 [] DEBUG soap.server.SoapMessageDispatcher - MessageDispatcher with name 'messageDispatcher' received request [SaajSoapMessage]
[6/21/07 17:45:36:574 EDT] 00000027 SystemOut O 2007-06-21 17:45:36,574 [] DEBUG soap.server.SoapMessageDispatcher - Testing endpoint exception resolver [org.springframework.ws.soap.server.endpoint.SoapFaultMappingExceptionResolver@780078]
[6/21/07 17:45:36:654 EDT] 00000027 SystemOut O 2007-06-21 17:45:36,574 [] WARN soap.server.SoapMessageDispatcher - Endpoint invocation resulted in exception - responding with SOAP Fault
org.springframework.ws.soap.saaj.SaajSoapEnvelopeException: Could not access envelope: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed: ; nested exception is javax.xml.soap.SOAPException: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed:
Caused by:
javax.xml.soap.SOAPException: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed:
at com.ibm.ws.webservices.engine.SOAPPart.getEnvelope(SOAPPart.java:638)
at org.springframework.ws.soap.saaj.Saaj12Implementation.getEnvelope(Saaj12Implementation.java:140)
at org.springframework.ws.soap.saaj.SaajSoapMessage.getEnvelope(SaajSoapMessage.java:81)
at org.springframework.ws.soap.AbstractSoapMessage.getSoapBody(AbstractSoapMessage.java:35)
at org.springframework.ws.soap.AbstractSoapMessage.getPayloadSource(AbstractSoapMessage.java:45)
at org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping.resolveQName(PayloadRootQNameEndpointMapping.java:55)
at org.springframework.ws.server.endpoint.mapping.AbstractQNameEndpointMapping.getLookupKeyForMessage(AbstractQNameEndpointMapping.java:32)
at org.springframework.ws.server.endpoint.mapping.AbstractMapBasedEndpointMapping.getEndpointInternal(AbstractMapBasedEndpointMapping.java:105)
at org.springframework.ws.server.endpoint.mapping.AbstractEndpointMapping.getEndpoint(AbstractEndpointMapping.java:82)
at org.springframework.ws.server.MessageDispatcher.getEndpoint(MessageDispatcher.java:237)
at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:190)
at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:157)
at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:86)
at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:440)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
Caused by:
org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed:
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:206)
at com.ibm.ws.webservices.engine.SOAPPart._getSOAPEnvelope(SOAPPart.java:1062)
at com.ibm.ws.webservices.engine.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:604)
at com.ibm.ws.webservices.engine.SOAPPart.getEnvelope(SOAPPart.java:632)
... 39 more
Caused by:
org.xml.sax.SAXParseException: The root element is required in a well-formed document.
at com.ibm.xml.xlxp.api.sax.impl.SAX2ParserBase.reportFatalError(SAX2ParserBase.java:440)
at com.ibm.xml.xlxp.api.was.WSXMLReader$WSScannerHelper.produceFatalErrorEvent(WSXMLReader.java:468)
at com.ibm.xml.xlxp.api.util.SimpleScannerHelper.reportFatalError(SimpleScannerHelper.java:1293)
at com.ibm.xml.xlxp.scan.DocumentEntityScanner.scanProlog(DocumentEntityScanner.java:1669)
at com.ibm.xml.xlxp.scan.DocumentEntityScanner.produceEvent(DocumentEntityScanner.java:574)
at com.ibm.xml.xlxp.scan.DocumentEntityScanner.produceEvents(DocumentEntityScanner.java:600)
at com.ibm.xml.xlxp.scan.DocumentEntityScanner.parseDocumentEntity(DocumentEntityScanner.java:422)
at com.ibm.xml.xlxp.api.util.SimpleScannerHelper.parseDocumentEntity(SimpleScannerHelper.java:184)
at com.ibm.xml.xlxp.api.was.WSXMLReader.parseEvents(WSXMLReader.java:117)
at com.ibm.xml.xlxp.api.sax.impl.SAX2ParserBase.parseEntity(SAX2ParserBase.java:1013)
at com.ibm.xml.xlxp.api.sax.impl.SAX2ParserBase.parse(SAX2ParserBase.java:1051)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.ws.webservices.engine.utils.WebServicesParser.parse(WebServicesParser.java:340)
at com.ibm.ws.webservices.engine.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:269)
at com.ibm.ws.webservices.engine.SOAPPart._getSOAPEnvelope(SOAPPart.java:1036)
... 41 more
Here is my SOAP message request:
Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="urn:ListCodeValues/1.0">
<soapenv:Header/>
<soapenv:Body>
<ns:ListCodeValuesRequest>
<ns:UserId>skendr</ns:UserId>
<ns:Password>tester78</ns:Password>
<ns:CodeCategory>BU</ns:CodeCategory>
</ns:ListCodeValuesRequest>
</soapenv:Body>
</soapenv:Envelope>
Any ideas?
Thanks in advance,
Shannon Kendrick
The root element is required in a well-formed document. Message being parsed
On websphere 6.1.0.9, we are getting this error:
MSG:<Could not access envelope: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed: ; nested exception is javax.xml.soap.SOAPException: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed: >
org.springframework.ws.soap.client.SoapFaultClient Exception: Could not access envelope: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed: ; nested exception is javax.xml.soap.SOAPException: org.xml.sax.SAXParseException: The root element is required in a well-formed document. Message being parsed:
at org.springframework.ws.soap.client.core.SoapFaultM essageResolver.resolveFault(SoapFaultMessageResolv er.java:36)
at org.springframework.ws.client.core.WebServiceTempl ate.handleFault(WebServiceTemplate.java:528)
at org.springframework.ws.client.core.WebServiceTempl ate.sendAndReceive(WebServiceTemplate.java:411)
at org.springframework.ws.client.core.WebServiceTempl ate.marshalSendAndReceive(WebServiceTemplate.java: 265)
at org.springframework.ws.client.core.WebServiceTempl ate.marshalSendAndReceive(WebServiceTemplate.java: 253)
Is this caused by the same reason as the above posts, if so, how can we get a copy of the nighly build of 1.0.1-SNAPSHOT. We can't get it from the Spring site.
The root element is required in a well-formed document. Message being parsed
Thanks for all of your responses. We changed to use Spring-ws 1.0.0 which fixed the problem.