You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Tobias Held (JIRA)" <ji...@apache.org> on 2019/01/23 13:46:00 UTC

[jira] [Created] (CXF-7952) MTOM + schema validation creates invalid SOAP FAULT response

Tobias Held created CXF-7952:
--------------------------------

             Summary: MTOM + schema validation creates invalid SOAP FAULT response
                 Key: CXF-7952
                 URL: https://issues.apache.org/jira/browse/CXF-7952
             Project: CXF
          Issue Type: Bug
          Components: JAX-WS Runtime, JAXB Databinding
    Affects Versions: 3.2.7, 3.2.6
         Environment: The service itself is running as a WAR deployment on Ubuntu 16.04 LTS within a Apache Tomcat 8.5.32 using JDK 1.8.0_161.
            Reporter: Tobias Held
         Attachments: client_fault.txt, error.txt, server_validation.txt

Hello! We had built a jaxws webservice based on cxf 3.2.6/3.2.7. The Java code was created from a given WSDL by using the maven plugin "cxf-codegen-plugin". In the provided _cxf-servlet.xml_ on server side there is both _mtom_ and _schema validation_ enabled on the _jaxws:endpoint_ definition:

 
{code:java}
<jaxws:properties>
    <entry key="schema-validation-enabled" value="true" />
    <entry key="mtom-enabled" value="true"/>
</jaxws:properties>
{code}
In case of an invalid validation result (see attachment _server_validation.txt_) it seems, that the created SOAP FAULT message is corrupt so that the client could not parse the message (see attachment e_rror.txt_):
{code:java}
javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader: Unexpected character '-' (code 45) in prolog; expected '<'
at [row,col {unknown-source}]: [2,1]
[...]
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected '<'
at [row,col {unknown-source}]: [2,1]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:653)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2133)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1181)
at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1204)
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:173){code}
The message itself seems to contain an additional, non referenced boundary (see attachment _client_fault.txt_).

What might be the problem here? If we deactivate the complete MTOM feature by removing it from the endpoint definition the fault message could be successfully processed.

Thanks in andvance!

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)