Hello all,
I have a route which sends a request to CXF webservice using Payload
dataformat. My question should the response consist of only Soap:body or should
it be the entire message soap:envelope
Spring context
<cxf:cxfEndpoint id="xdrReceiverEndpoint"
address="${xdrWebserviceUrl}"
endpointName="s:CcdaXdrServicePort"
serviceName="s:CcdaXdrService"
xmlns:s="http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com">
<cxf:properties>
<entry key="mtom-enabled" value="true"/>
<entry key="dataFormat" value="PAYLOAD"/>
<entry key="loggingFeatureEnabled" value="true"/>
<!-- <entry key="defaultOperationName" value="submitCcda"/>-->
</cxf:properties>
</cxf:cxfEndpoint>
Sample request:
static final String REQ_MESSAGE="<ccdaRequest xmlns=\""
+"http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com/CcdaXdrService\<http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com/CcdaXdrService/>">"
+"<clinicalDocument>"
+"<ccDocument>"
+"<xop:Include
xmlns:xop=\"http://www.w3.org/2004/08/xop/include\<http://www.w3.org/2004/08/xop/include/>""
+ " href=\"cid:" + REQ_DOC_CID + "\"/>"
+"</ccDocument>"
+"</clinicalDocument>"
+"</ccdaRequest>";
I am trying to use SoapUI mockservice to mock the response as below
<ccdaResponse
xmlns="http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com/CcdaXdrService">
<!--Optional:-->
<ccdaAcknowledgement>
<!--Optional:-->
<statusCode>0</statusCode>
<!--Optional:-->
<statusDesc>Success</statusDesc>
</ccdaAcknowledgement>
</ccdaResponse>
But I get following error
[http-bio-8080-exec-1] WARN org.apache.cxf.phase.PhaseInterceptorChain -
Interceptor for
{http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com}CcdaXdrService#{http://camel.apache.org/cxf/jaxws/dispatch}Invoke
has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault:
"http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com/CcdaXdrService",
the namespace on the "ccdaResponse" element, is not a valid SOAP version.
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.readVersion(ReadHeadersInterceptor.java:116)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:142)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:61)
If the response is the entire soap envelope I get following error. So not sure
what the response should like
org.apache.cxf.interceptor.Fault: Unexpected element
{http://model.webservices.ihe.adapters.ccg.dataexchange.hcit.ge.com/CcdaXdrService}ccdaResponse
found. Expected {http://camel.apache.org/cxf/jaxws/dispatch}InvokeResponse.
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.validatePart(DocLiteralInInterceptor.java:258)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:200)