xml架构验证从CXF 2.7.14更改为CXF 3.1.8

时间:2016-11-23 16:05:35

标签: java web-services jaxb cxf

我创建了一个CXF Web服务。从WSDL和wsdl2java我已经生成了java类,特别是我有这个枚举:

<soap:Fault>
  <faultcode>soap:Client</faultcode>
  <faultstring>Unmarshalling Error: cvc-enumeration-valid: Value 'P3' is not facet-valid with respect to enumeration '[P, P2]'. It must be a value from the enumeration.</faultstring>
</soap:Fault>

Web服务运行良好,但我需要进行架构验证。 使用CXF 2.7.14,当我使用错误的PType值(例如P3)调用该方法时,我得到了结果:

<HTML>

<HEAD>
  <TITLE>HELLO</TITLE>
</HEAD>

<BODY ID="testbody" onload="testbody.style.display = '';" style="display: none;">
  <div align="CENTER">
    HELLO WORLD!
  </div>
</BODY>

</HTML>

如果我在调用方法时将CXF版本更新到3.1.8,结果是CXF将字段PType转换为null并且我没有解组错误。

两种情况下的所有代码完全相同......怎么可能?感谢。

0 个答案:

没有答案