[ https://issues.apache.org/jira/browse/CXF-6517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh closed CXF-6517. ------------------------------------ > Regression in 3.1.2 attachment handling > --------------------------------------- > > Key: CXF-6517 > URL: https://issues.apache.org/jira/browse/CXF-6517 > Project: CXF > Issue Type: Bug > Components: JAXB Databinding > Affects Versions: 3.1.2 > Reporter: David J. M. Karlsen > Assignee: Sergey Beryozkin > Fix For: 3.1.3, 2.7.18, 3.0.7 > > > {noformat} > 2015-08-04 13:35:20,892 > [qtp38997010-16][146.213.0.135][][AB62939][04027744109][7001][BRA][1f220a68-cbf7-4779-9014-3bd225fb720a] > WARN org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for > {urn:srv.jfr.tac.f > s.edb.com:ws:file:v1}TACSFileService_V1#{urn:srv.jfr.tac.fs.edb.com:ws:file:v1}fileRead > has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: Marshalling Error: null > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:268) > ~[cxf-rt-databinding-jaxb-3.1.2.jar:3.1.2] > at > org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:237) > ~[cxf-rt-databinding-jaxb-3.1.2.jar:3.1.2] > at > org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:136) > ~[cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.wsdl.interceptors.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68) > ~[cxf-rt-wsdl-3.1.2.jar:3.1.2] > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) > [cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:83) > [cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) > [cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > [cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:212) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > [servlet-api-3.1.jar:3.1.0] > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268) > [cxf-rt-transports-http-3.1.2.jar:3.1.2] > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:160) > [javamelody-core-1.56.0.jar:1.56.0] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178) > [spring-orm-4.2.0.RELEASE.jar:4.2.0.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > [spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198) > [javamelody-core-1.56.0.jar:1.56.0] > at > net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176) > [javamelody-core-1.56.0.jar:1.56.0] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) > [spring-security-web-4.0.2.RELEASE.jar:4.0.2.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > [spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE] > ..... > at > ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:51) > [logback-classic-1.1.3.jar:na] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > com.netflix.hystrix.contrib.requestservlet.HystrixRequestLogViaLoggerServletFilter.doFilter(HystrixRequestLogViaLoggerServletFilter.java:78) > [hystrix-request-servlet-1.4.13.jar:1.4.13] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > com.netflix.hystrix.contrib.requestservlet.HystrixRequestContextServletFilter.doFilter(HystrixRequestContextServletFilter.java:53) > [hystrix-request-servlet-1.4.13.jar:1.4.13] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > com.netflix.hystrix.contrib.requestservlet.HystrixRequestLogViaResponseHeaderServletFilter.doFilter(HystrixRequestLogViaResponseHeaderServletFilter.java:63) > [hystrix-request-servlet-1.4.13.jar:1.4.13] > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > [jetty-security-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > [jetty-servlet-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at org.eclipse.jetty.server.Server.handle(Server.java:497) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > [jetty-server-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > [jetty-io-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > [jetty-util-9.2.8.v20150217.jar:9.2.8.v20150217] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > [jetty-util-9.2.8.v20150217.jar:9.2.8.v20150217] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] > Caused by: java.lang.NullPointerException: null > at java.net.URLEncoder.encode(URLEncoder.java:204) ~[na:1.8.0_45] > at > org.apache.cxf.attachment.AttachmentUtil.createContentID(AttachmentUtil.java:207) > ~[cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.attachment.AttachmentUtil.createMtomAttachmentFromDH(AttachmentUtil.java:502) > ~[cxf-core-3.1.2.jar:3.1.2] > at > org.apache.cxf.jaxb.attachment.JAXBAttachmentMarshaller.addMtomAttachment(JAXBAttachmentMarshaller.java:69) > ~[cxf-rt-databinding-jaxb-3.1.2.jar:3.1.2] > at > com.sun.xml.bind.v2.runtime.output.MTOMXmlOutput.text(MTOMXmlOutput.java:128) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.XMLSerializer.leafElement(XMLSerializer.java:356) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$PcdataImpl.writeLeafElement(RuntimeBuiltinLeafInfoImpl.java:191) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.MimeTypedTransducer.writeLeafElement(MimeTypedTransducer.java:96) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.writeLeafElement(TransducedAccessor.java:254) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.serializeBody(SingleElementLeafProperty.java:130) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:360) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:158) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:360) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:158) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:160) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:130) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:332) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:339) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:75) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178) > ~[jaxb-impl-2.2.11.jar:2.2.11] > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:615) > ~[cxf-rt-databinding-jaxb-3.1.2.jar:3.1.2] > at > org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:241) > ~[cxf-rt-databinding-jaxb-3.1.2.jar:3.1.2] > ... 91 common frames omitted > {noformat} > My code for constructing the return type: > {code} > public static FileType toFileType( MetaData metaData ) > { > ByteDataSource byteArrayDataSource = > new ByteDataSource( metaData.getLobData().getBlob(), > metaData.getMimeType() ); > DataHandler dataHandler = new DataHandler( byteArrayDataSource ); > return new FileType().withFileMetaData( toWs( metaData ) > ).withPayload( dataHandler ); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)