如何在JAX-RS中禁用模式验证或从客户端的响应中删除ns2?

时间:2015-12-16 06:49:29

标签: validation jax-rs

第三方API为我的JAX-RS请求创建了以下响应:

<?xml version="1.0"?>
<name xmlns="http://www.example.com/name">
    <first>John</first>
    <middle>M</middle>
    <last>Doe</last>
</name>

参考这个架构:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name" elementFormDefault="qualified">
    <element name="name">
        <complexType>
            <sequence>
                <element name="first" type="string"/>
                <element name="middle" type="string"/>
                <element name="last" type="string"/>
            </sequence>
        </complexType>
    </element>
</schema>

但是,他们错误地改变了服务器响应:

<?xml version="1.0"?>
<ns2:name xmlns:ns2="http://www.example.com/name">
    <first>John</first>
    <middle>M</middle>
    <last>Doe</last>
</ns2:name>

现在,当我使用JAX-RS webclient调用API时,我没有使用null对象,但其中的值全为null,因为XML响应的子节点未使用命名空间ns2。

如何忽略命名空间ns2?所以响应对象的值不会为空。

0 个答案:

没有答案