CXF和验证 - 忽略架构限制

时间:2010-02-09 19:16:36

标签: validation xsd jaxb cxf

我一直在开发CXF网络服务并且已经some trouble。在SO的帮助下,我的服务验证了相当复杂的模式 - 项目的要求。然而,我注意到验证存在一些奇怪的问题。

虽然数据类型已经过验证 - 例如,会捕获一个随机的字母数字字符串而不是日期,并将其作为SOAP错误长度返回,而模式限制则不会。如果xs:string的maxLength设置为20,并且我输入25'a',则服务很乐意为此服务。

我正在使用2.2.7-SNAPSHOT-由于2.2.6中的另一个问题,快照解决了我因为非发布而陷入困境。有人有主意吗?我在其他问题中发布了有关该项目的更多详细信息,但请告诉我配置文件或输出是否有帮助。

1 个答案:

答案 0 :(得分:4)

我们在IRC上聊天,但出于录制目的,解决方案是在jaxws:endpoint上提供wsdlLocation属性,以便获取原始的wsdl(以及模式)。没有它,它将验证jaxb将从类生成的模式。由于JAXB不记录长度等等,因此这些将“丢失”,因此不会被验证。