java如何在SOAP请求中以编程方式避免多个XML绑定到XMLElement?
考虑下面的JAXB绑定代码,
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class SomeRequest {
@XmlElements(value={@XmlElement(name="objOne", type="ObjectOne.class"),
@XmlElement(name="objTwo", type="ObjectTwo.class")})
private MyObject obj;
}
当我收到类似的请求时
<request>
<objectOne>
<!-- Some Data -->
</objectOne>
<objectTwo>
<!-- Some data -->
</objectTwo>
</request>
这两个值都被解组和处理,但只剩下objectTwo的最后一个值
我希望以某种方式避免这种情况,在请求中发送两个请求时都会引发异常
此外,我正在寻找一种方法,以编程方式解决它,而不使用wsdl模式验证
在看了下面的问题之后,我尝试使用JAXB XmlAdapter
Confused as how to use JAXB XML Adapter for my requirement但无法比较对象是否已经有值并抛出soap错误
我也想不出一种使用解组器解决它的方法,从oracle jaxb docs
如果您可以推荐一个使用某种拦截器或扩展某个JAXB类并验证并抛出异常的解决方案,那就太好了
如果有帮助的话,web服务的实现是在jboss上使用apache cxf完成的。CXF拦截器也是一种选择,但只有在没有JAXB相关解决方案的情况下,我才会选择它
共 (0) 个答案