Hello,

we developed a webservice with cxf and camel. Everything works fine, except
the fact that the cxf-endpoint accepts invalid SOAP-Messages. 

For example we have a SOAP-Message:

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
    <SOAP-ENV:Header>
     ...
    </SOAP-ENV:Header>

    <SOAP-ENV:Body>
       ...
     </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


But we observed that it isn't necessery to spell the "SOAP-ENV:Envelope"-Tag
correctly.

CXF accepts every combination like: <SOAP-ENV:foo ..., > <SOAP-ENV:bar...>,
<SOAP-ENV:blabla...> . In addition the start and end tag doesn't have to
match eachother, it's also possible to type:

<SOAP-ENV:foo xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>

   <SOAP-ENV:Header>
     ...
   </SOAP-ENV:Header>

   <SOAP-ENV:Body>
       ...
   </SOAP-ENV:Body>

</SOAP-ENV:bar>

Here is the code:

Servlet:

public class CXFServlet extends CXFNonSpringServlet {

    @Override
    protected void loadBus(ServletConfig sc) {
       
        setBus(BusFactory.getDefaultBus());
    }

Camel:

public class CamelRoute extends RouteBuilder {

    private static final Logger logger = Logger.getLogger(CamelRoute.class);

    private final String uri = "cxf:/rrv?dataFormat=PAYLOAD";

    @Override
    public void configure() throws Exception {

            from(uri)
              .process(new Processor() {

                @Override
                public void process(Exchange exchange) throws Exception {
                    processSOAP(exchange);
                }
            });
    }

The processSOAP method just prints the SOAP-Message and create a response.

Do we miss some configuration? Or is there a workaround for this problem? In
the end we always get a SOAP-Response instead of a SOAP-Fault.

It might be funny but this time i really looking forward to see an exception
thrown.

PS: We don't want to use spring, so i would prefer a non-spring solution. 

thank you for your time.








--
View this message in context: 
http://camel.465427.n5.nabble.com/CXF-Endpoint-accepts-invalid-SOAP-Envelope-in-POJO-Mode-tp5751971.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to