[ https://issues.apache.org/jira/browse/CXF-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12675600#action_12675600 ]
Benson Margulies commented on CXF-1956: --------------------------------------- I looked at the files. The Packet Bytes file is just truncated. The Follow TCP Stream file looks perfect. The pcap file shows truncation, not garbage, but different truncation from the Packet Bytes file. The flex file as always shows two bytes of slop from someone, somewhere. Help me understand what's wrong in the Follow TCP Stream file. I note that the web server, which is not under CXF's control, is not supplying a content-length header on the second request. I suspect that this is the real source of this muddle. > Garbage Appended to SOAP Envelope > --------------------------------- > > Key: CXF-1956 > URL: https://issues.apache.org/jira/browse/CXF-1956 > Project: CXF > Issue Type: Bug > Affects Versions: 2.1.2, 2.1.3 > Environment: Windows Server 2003 R2, Apache Tomcat 5.5.26, Web > Services developed with Apache CXF 2.1.3 and Spring 2.5 > Reporter: Ron Grimes > Priority: Critical > Attachments: countries.sql, Country.java, CountryDao.java, > CountryDaoImpl.java, CountryFault.java, CountryService.java, > CountryServiceImpl.java, FlexDump.xml, WireShark_Packet_Bytes.xml, > WireShark_Raw_TCP_Stream.xml, ws_dump_20090221.pcap > > > I have a web service that returns a list of ISO Country Codes and Names. > Garbage is being returned at the end of the SOAP envelope, which in turn > throws a CXFServlet exception: > - Servlet.service() for servlet CXFServlet threw exception > java.lang.NullPointerException > at org.apache.xerces.dom.DeferredAttrNSImpl.synchronizeData(Unknown > Source) > at org.apache.xerces.dom.AttrImpl.getNodeName(Unknown Source) > at org.apache.xerces.dom.AttributeMap.setNamedItem(Unknown Source) > at org.apache.xerces.dom.DeferredElementNSImpl.synchronizeData(Unknown > Source) > at org.apache.xerces.dom.ElementImpl.getNodeName(Unknown Source) > at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown > Source) > at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown > Source) > at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown > Source) > at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown > Source) > at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown > Source) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown > Source) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown > Source) > at > com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown > Source) > at > org.apache.cxf.wsdl11.SchemaSerializer.writeXml(SchemaSerializer.java:60) > at > org.apache.cxf.wsdl11.SchemaSerializer.marshall(SchemaSerializer.java:48) > at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown > Source) > at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source) > at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source) > at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source) > at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source) > at > org.apache.cxf.transport.http.WSDLQueryHandler.writeResponse(WSDLQueryHandler.java:171) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:152) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174) > at > org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:156) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Unknown Source) > Sample of returned SOAP envelope with appended garbage: > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body><ns1:queryCountryCodesResponse > xmlns:ns1="http://ws.common.ssc.com/"> > <InformationResult> > <ns2:Country xmlns:ns2="http://model.common.ssc.com"> > <ns2:countryCode>AD</ns2:countryCode> > <ns2:countryName>Andorra</ns2:countryName> > </ns2:Country> > . > . > . > </InformationResult> > </ns1:queryCountryCodesResponse> > </soap:Body></soap:Envelope>co«×y -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.