Hello,

I have a big problem with CXF. It seems that CXF isn't able to proper recognize the response of the remote web service.
Please see the following shortened response:

---cut
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing";
xmlns:tran="http://www.starstandards.org/webservices/2005/10/transport";
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
    xmlns:ns1="http://www.openapplications.org/oagis/9";
    xmlns:star="http://www.starstandard.org/STAR/5"; xmlns:fordID="urn:ford/star/security/v1.0">
    <soapenv:Header>
        [...]
    </soapenv:Header>
    <soapenv:Body>
        <tran:ProcessMessageResponse>
            <tran:payload>
                <tran:content id="Content">
                    [...]
                </tran:content>
            </tran:payload>
        </tran:ProcessMessageResponse>
    </soapenv:Body>
</soapenv:Envelope>
---cut

As you can see the Body contains the "ProcessMessageResponse" with namespace "http://www.starstandards.org/webservices/2005/10/transport"; but CXF throws the following exception:

---cut
javax.xml.ws.soap.SOAPFaultException: Response message did not contain proper response data. Expected: {http://www.starstandards.org/webservices/2005/10/transport}ProcessMessageResponse     at org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:195)     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
    at com.sun.proxy.$Proxy56.processMessage(Unknown Source)
    at _test.service.manufacturer.ford.cu.FirstTestCU.sendToFord(FirstTestCU.java:959)     at _test.service.manufacturer.ford.cu.FirstTestCU.start(FirstTestCU.java:201)     at _test.service.manufacturer.ford.cu.FirstTestCU.main(FirstTestCU.java:1050) Caused by: org.apache.cxf.endpoint.ClientImpl$IllegalEmptyResponseException: Response message did not contain proper response data. Expected: {http://www.starstandards.org/webservices/2005/10/transport}ProcessMessageResponse     at org.apache.cxf.endpoint.ClientImpl.processResult(ClientImpl.java:668)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:541)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:441)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:356)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:314)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140)
    ... 4 more
---cut

So CXF complains about missing ProcessMessageResponse which clearly is there. Do CXF have problems to recognize the inherited namespace declarations in the Envelope-Element so that the NS-Prefix "tran" maybe is unrelated for CXF?
What I'm missing here?

I'm stuck at this point...

CXF Version: 3.2.14
But this also happens with 3.3 and 3.4.


Thanks
Martin

Reply via email to