[
https://issues.apache.org/jira/browse/CXF-7136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-7136.
------------------------------
Resolution: Won't Fix
Assignee: Daniel Kulp
Fix Version/s: Invalid
Without buffering the entire response and taking the performance hit, there is
nothing that can be done for this. You can add a property of
"org.apache.cxf.output.buffering" set to "true" to turn on output buffering
which may "fix" this, but as mentioned, there is a performance penalty on that.
> soapfault mixed with response
> -----------------------------
>
> Key: CXF-7136
> URL: https://issues.apache.org/jira/browse/CXF-7136
> Project: CXF
> Issue Type: Bug
> Components: JAXB Databinding
> Affects Versions: 3.1.7
> Environment: RHEL Linux, kern 3.10.0-229.1.2.el7.x86_64
> java -version
> java version "1.8.0_102"
> Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
> Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
> Reporter: David J. M. Karlsen
> Assignee: Daniel Kulp
> Labels: fault, intermixed, marshalling, response, xml
> Fix For: Invalid
>
>
> we get this fault due to invalid chars attempted to being marshalled (which
> is obviosly a problem at our shoulders, but - what I see as the bug - is that
> the Fault XML is intermixed with the response streaming - hence the client is
> not able to parse the fault as the sudden appering of a soap:fault element
> inside the expected response payload is not expected:
> application log:
> {noformat}
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Invalid white space character (0x1) in text
> to output (in xml 1.1, could output as a character entity)
> at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:154)
> at
> org.apache.cxf.wsdl.interceptors.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:83)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:254)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
> at
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:299)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:218)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:274)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
> {noformat}
> from the payload log (using the ext-logger "modern" payload logging mechanism:
> {noformat}
> .FAULT_OUT - <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>……
> <ns6:name><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Invalid
> white space character (0x1) in text to output (in xml 1.1, could output as a
> character
> entity)</faultstring></soap:Fault></ns6:name></ns2:creditor></ns2:creditorInformation></ns4:creditorInformation></ns4:CreditorSearchResponse></soap:Body></soap:Envelope>
> {noformat}
> Notice: we have the <ns6:name> element (which is the element causing the
> illegal char) - and then the fault follows - and then the rest of the element!
> What I'd rather expect is that the service raised an fault - and not any of
> the contents.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)