0
我没有收到在SOAP消息的SOAPHEADER标签调用CXF服务。我当前的代码如下:的SOAPHeaders没有在对的SOAPMessage CXF服务通过在Apache的骆驼
我已经定义了CXF:为服务cxfEndpoint:
<cxf:cxfEndpoint id="testService" address="${testserviceurl}"
serviceClass="com.test.service.class" wsdlURL="test.wsdl"
endpointName="ns:test" serviceName="ns:TestService"
xmlns:ns="target.name.space.of.the.service">
<cxf:properties>
<entry key="dataFormat" value="PAYLOAD" />
</cxf:properties>
</cxf:cxfEndpoint>
,然后调用我的CXF端点之前,我已经设置了SOAPHEADER为:
CxfPayload<SoapHeader> payload = exchange.getIn().getBody(
CxfPayload.class);
List<SoapHeader> headers = payload.getHeaders();
SoapHeader header = new SoapHeader(new QName("HeaderName"), "Test");
headers.add(header);
我也试过这种方法:
List<SoapHeader> soapHeaders = CastUtils.cast((List<?>) exchange
.getIn().getHeader(Header.HEADER_LIST));
if (soapHeaders == null) {
// we just create a new soap headers in case the header is null
soapHeaders = new ArrayList<SoapHeader>();
}
SoapHeader header = new SoapHeader(new QName("HeaderName"),
"Test");
header.setDirection(Direction.DIRECTION_OUT);
soapHeaders.add(header);
任何人都可以请帮助这是什么问题?
嗨Vijendra,谢谢你的回应。我可以设置请求标头,但问题在于有效负载消息中标签''下的SOAP标头。 –
Prasann