2010-02-09 145 views
4

我一直在使用CXF Web服务,并且有sometrouble。在SO的帮助下,我得到了我的服务,验证了一个相当复杂的模式 - 该项目的要求。但是,我注意到验证中存在一些奇怪的问题。CXF和验证 - 忽略架构限制

验证数据类型时 - 例如,随机字母数字字符串而不是日期被捕获并作为SOAP错误返回并且模式限制不是。如果xs:string的最大长度为20,并且输入25'a,那么服务很乐意。

我正在使用2.2.7-SNAPSHOT-由于2.2.6中的另一个问题,快照解决了我的问题。有人有主意吗?我在其他问题上发布了有关该项目的更多详细信息,但是让我知道配置文件或输出是否有帮助。

回答

4

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