有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案