我正在创建cxf webservice首先,cxf端点将获得一个调用,然后它以有效载荷模式传递给camel路由,并且首先在camel路由中取消请求并在此之后进行一些处理它返回响应
但是当我回复时,我的身体变空了。虽然所有数据都在日志中正确显示。
我是否需要处理器将其更改为肥皂信息。
<from uri="cxf:bean:cardServiceCall?dataFormat=PAYLOAD" />
<camel:unmarshal ref="jaxb" />
<camel:process ref="ResponseProcessor"></camel:process>
<camel:marshal ref="jaxb" />
Upadte 我开始知道我必须对其进行编组,但在编组时我得到JAXB编组错误XMLRootElement annontation缺失错误
答案 0 :(得分:1)
我解决了这个问题,实际上我的架构中存在问题。
我已经为我的复杂类型命名,并且使用该名称引用的元素类型不正确。你应该像下面这样做
<xsd:element name="myRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="cardNumber" type="xsd:long" />
<xsd:element name="transactionNumber" type="xsd:long" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>