我有一个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在模式验证时失败。
我知道如何完全关闭模式验证,然后两个服务都正常工作(但我宁愿继续进行验证,可以使用它。)
如何将配置更改为仅使用bean a
的架构验证,而不是b
的架构验证?
答案 0 :(得分:1)
架构验证是在JAX-RS服务级别设置的,因此您无法直接执行所需操作(无需添加到架构),但可以具有多个<jaxrs:server>
实例在具有不同路径的相同webapp中。这应该让你设置你想要的东西而不会有太多麻烦。 (这是CXF更复杂的配置方法的用武之地。)