CXF shouldn't ever return trash. However, I still want to know what's going on with the NPE WSDL generation. Are you sure that the flex client isn't 'hallucinating' it? Have you see it with WireShark or even TcpMon?
On Tue, Dec 23, 2008 at 11:00 PM, Ron Grimes (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/CXF-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659035#action_12659035 > ] > > Ron Grimes commented on CXF-1956: > --------------------------------- > > It further appears that CXF doesn't have any problem in returning the SOAP > envelope with the garbage appended. The problem comes in when the client-side > Flex application tries to handle the web service response. It is unable to > adequately parse the response, and throws a fault. So, I guess it's a Flex > problem that it doesn't have built in tolerance for orphaned data that > doesn't fall with a properly defined xml node. But, neither should CXF return > the appended extraneous characters, which, in essence, causes the returned > response to constitute a poorly formed XML document. > >> 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 >> >> >> 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. > >
