[ 
https://issues.apache.org/jira/browse/CXF-4183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232930#comment-13232930
 ] 

Mina R Waheeb commented on CXF-4183:
------------------------------------

I found the problem its in class 
"com.sun.xml.internal.stream.writers.XMLDOMWriterImpl" [1]. I use XMPP 
transporter and trying to remove some XML overhead by skipping the OutputStream 
stream and write the SOAP message to XMLStreamWriter using:

{code}
message.put(Document.class, doc);
message.setContent(XMLStreamWriter.class, StaxUtils.createXMLStreamWriter(new 
DOMResult(doc)));
{code}

The woodstox was not visible to the classpath of the transporter classloader at 
the runtime! after I added it everything working fine. My bad :)

[1] 
http://www.grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/com/sun/xml/internal/stream/writers/XMLDOMWriterImpl.java#XMLDOMWriterImpl
                
> SOAP Fault cause NullPointerException
> -------------------------------------
>
>                 Key: CXF-4183
>                 URL: https://issues.apache.org/jira/browse/CXF-4183
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>    Affects Versions: 2.5.2
>         Environment: Openjdk version "1.7.0"
> OpenJDK Runtime Environment (build 1.7.0-root_2011_07_02_05_19-b00)
> OpenJDK Server VM (build 21.0-b17, mixed mode)
> FreeBSD localhost 9.0-CURRENT FreeBSD 9.0-CURRENT #8: Thu May  5 16:46:16 UTC 
> 2011 root@localhost:/usr/obj/usr/src/sys/MINA  i386
> CXF 2.5.2
>            Reporter: Mina R Waheeb
>              Labels: soap
>
> The below exception happens "sometimes" I tried to trace the code. it seems 
> like the XMLStreamWriter doesn't have namespace context
> (StaxUtils.java:727) String decUri = 
> writer.getNamespaceContext().getNamespaceURI(prefix);
> Mar 15, 2012 11:23:14 PM org.apache.cxf.phase.PhaseInterceptorChain 
> doDefaultLogging
> INFO: Application 
> {http://example.com/blackboard/kb/}Subscriber#{http://example.com/blackboard/kb/}push
>  has thrown exception, unwinding now: 
> com.example.kb.failure.FeedServiceException: 
> net.organon.platform.channel.ChannelException: java.lang.NullPointerException
> Mar 15, 2012 11:23:14 PM 
> org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternal
>  handleMessage
> INFO: class 
> org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternalapplication/soap+xml
> Mar 15, 2012 11:23:14 PM 
> org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternal
>  handleMessage
> WARNING: Error writing to XMLStreamWriter.
> {code}
> java.lang.NullPointerException
>         at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:727)
>         at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:693)
>         at org.apache.cxf.staxutils.StaxUtils.writeNode(StaxUtils.java:808)
>         at 
> org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternal.handleMessage(Soap12FaultOutInterceptor.java:124)
>         at 
> org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptorInternal.handleMessage(Soap12FaultOutInterceptor.java:56)
>         at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
>         at 
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
>         at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:323)
>         at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
>         at 
> net.organon.messaging.xmpp.soap.XMPPSOAPTransporter$1.run(XMPPSOAPTransporter.java:238)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:415)
>         at 
> net.organon.security.identify.runtime.SSOSubject.doAs(SSOSubject.java:180)
>         at 
> net.organon.messaging.xmpp.soap.XMPPSOAPTransporter.handleMessage(XMPPSOAPTransporter.java:234)
>         at 
> net.organon.messaging.xmpp.model.stanza.processor.AbstractAgent.execute(AbstractAgent.java:70)
>         at 
> net.organon.messaging.xmpp.model.stanza.processor.AbstractComponent.execute(AbstractComponent.java:82)
>         at 
> net.organon.messaging.xmpp.runtime.channel.XMPPEventContext.sendUpstream(XMPPEventContext.java:122)
>         at 
> net.organon.platform.channel.AbstractChannelEventContext.sendUpstream(AbstractChannelEventContext.java:146)
>         at 
> net.organon.platform.channel.UpstreamChannelEventContext.call(UpstreamChannelEventContext.java:43)
>         at 
> net.organon.platform.channel.UpstreamChannelEventContext.call(UpstreamChannelEventContext.java:19)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeOperation(AbstractXMPPChannel.java:273)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeOperation(AbstractXMPPChannel.java:263)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeOperation(AbstractXMPPChannel.java:256)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeUpstream(AbstractXMPPChannel.java:230)
>         at 
> net.organon.platform.channel.DefaultUpstreamChannel.writeUpstream(DefaultUpstreamChannel.java:35)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPRouterChannel.route(AbstractXMPPRouterChannel.java:273)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPRouterChannel.writeUpstream(AbstractXMPPRouterChannel.java:248)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeUpstream(AbstractXMPPChannel.java:241)
>         at 
> net.organon.messaging.xmpp.runtime.channel.AbstractXMPPChannel.writeUpstream(AbstractXMPPChannel.java:232)
>         at 
> net.organon.platform.channel.DefaultUpstreamChannel.writeUpstream(DefaultUpstreamChannel.java:35)
>         at 
> net.organon.messaging.bus.EventQueue.writeUpstream(EventQueue.java:191)
>         at 
> net.organon.platform.channel.DefaultUpstreamChannel.writeUpstream(DefaultUpstreamChannel.java:104)
>         at 
> net.organon.platform.channel.DefaultUpstreamChannel.writeUpstream(DefaultUpstreamChannel.java:42)
>         at 
> net.organon.platform.channel.DefaultUpstreamChannel.writeUpstream(DefaultUpstreamChannel.java:35)
>         at 
> net.organon.messaging.bus.EventQueue.writeDownstream(EventQueue.java:177)
>         at 
> net.organon.platform.channel.DefaultChannel.writeDownstream(DefaultChannel.java:104)
>         at 
> net.organon.platform.channel.DefaultChannel.writeDownstream(DefaultChannel.java:42)
>         at net.organon.messaging.bus.EventFuture$1.run(EventFuture.java:70)
>         at net.organon.messaging.bus.EventFuture$1.run(EventFuture.java:65)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:415)
>         at 
> net.organon.security.identify.runtime.SSOSubject.doAs(SSOSubject.java:180)
>         at net.organon.messaging.bus.EventFuture.run(EventFuture.java:65)
>         at net.organon.messaging.bus.EventQueue.execute(EventQueue.java:225)
>         at 
> net.organon.messaging.bus.EventQueue$EventQueueProcessor.run(EventQueue.java:235)
>         at 
> net.organon.platform.internal.runtime.InternalProcessManager$Worker$1.run(InternalProcessManager.java:190)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:415)
>         at 
> net.organon.security.identify.runtime.SSOSubject.doAs(SSOSubject.java:180)
>         at 
> net.organon.platform.internal.runtime.InternalProcessManager$Worker.run(InternalProcessManager.java:183)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> {code}
> Mar 15, 2012 11:23:14 PM org.apache.cxf.phase.PhaseInterceptorChain 
> doDefaultLogging
> INFO: Application 
> {http://example.com/blackboard/kb/}Subscriber#{http://example/blackboard/kb/}push
>  has thrown exception, unwinding now: 
> com.example.blackboard.kb.failure.FeedServiceException: 
> net.organon.platform.channel.ChannelException: java.lang.NullPointerException

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to