Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 2.2.6 (EE only), 3.0.0
-
Fix Version/s: 2.2.7 (EE only), 3.0.1
-
Component/s: Modules: CXF
-
Labels:None
-
User impact:High
-
Similar Issues:None
Description
This issue was created to track the fix for the EE-2002 issue.
This is the original comment from it:
I have tested the Mule 2.2.7 fix against one of our test services. The
service in question no longer throws a TransformerException but the
request still fails with the following exception....
WARNING: Interceptor for
{http://ctp.wcsl.com/wsdl/LottoWager-v1}LottoWagerBinding_v1_0 has
thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not write to XMLStreamWriter.
at
org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor.handleMessage(StaxOutInterceptor.java:173)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at
org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:218)
at
org.mule.transport.cxf.CxfServiceComponent$1.write(CxfServiceComponent.java:273)
at
org.mule.transport.http.HttpServerConnection.writeResponse(HttpServerConnection.java:315)
at
org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:191)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.xml.stream.XMLStreamException: Trying to write
END_DOCUMENT when document has no root (ie. trying to output empty
document).
at
com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1473)
at
com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1502)
at
com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1663)
at
com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:585)
at
org.apache.cxf.interceptor.StaxOutInterceptor$StaxOutEndingInterceptor.handleMessage(StaxOutInterceptor.java:163)
... 9 more
I have attached a copy of the console log, an export of the Mule project
and an example soap request. The service I have switched over to use the
cxf:inbound-endpoint wsdlLocation attribute is called
WHS_LottoWagerStub-v1 - the endpoint address is
http://localhost:8888/whs/LottoWager-v1.
Let me know if you require any further details.