[ 
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)

Reply via email to