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