0

我有一个 Spring 配置的 CXF 驱动的 JAX-RS 服务,它有两个服务 bean:

 <jaxrs:server id="wsServices">
    <jaxrs:serviceBeans>
       <ref bean="a"/>
       <ref bean="b"/>
    </jaxrs:serviceBeans>
    <jaxrs:schemaLocations>
        <jaxrs:schemaLocation>
           classpath:/schema/webservices.xsd
        </jaxrs:schemaLocation>
    </jaxrs:schemaLocations>
 </jaxrs:server>

<bean id="a" class="AServiceImpl"/> 
<bean id="b" class="BServiceImpl" />

不幸的是,XSD 文件只覆盖了两个服务 bean 中的一个,因此另一个在模式验证时失败了。

我知道如何完全关闭模式验证,然后两种服务都可以正常工作(但我宁愿继续在可以使用它的地方进行验证)。

如何将配置更改为仅对 bean 使用模式验证a,而不对 bean 使用模式验证b

4

1 回答 1

1

模式验证是在 JAX-RS 服务级别设置的,因此您无法直接执行您想要的操作(无需添加到模式中),但您可以<jaxrs:server>在同一个 web 应用程序中拥有多个具有不同路径的实例。那应该可以让您轻松设置所需内容。(这就是 CXF 更复杂的配置方法发挥作用的地方。)

于 2013-05-07T05:40:50.510 回答