Java cxf弹簧配置赢得';t加载,缺少xsd

Java cxf弹簧配置赢得';t加载,缺少xsd,java,spring,xsd,jax-ws,cxf,Java,Spring,Xsd,Jax Ws,Cxf,我有一个spring配置,可以使用jaxws使用cxf创建客户机。当我使用以下代码从主类运行testcase时: ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/client-context.xml"); return (VisitService) ctx.getBean("client"); 我得到这个例外 org.xml.sax.SAXParseExcepti

我有一个spring配置,可以使用jaxws使用cxf创建客户机。当我使用以下代码从主类运行testcase时:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/client-context.xml");
return (VisitService) ctx.getBean("client");
我得到这个例外

org.xml.sax.SAXParseException;行号:21;栏目号:71; 架构\u引用。4:无法读取架构文档 '',因为1)找不到 文件;2) 文件无法读取;3) 根元素 该文件的内容不完整

我理解这个异常,并在cxf的文档中发现了这一点

包括


当我包含文档中描述的context.xml时,我只会得到相同的错误。Spring在加载此xml之前验证其模式。包装应用程序上下文可能会解决我的问题,但这似乎是一个较差的解决方案。我知道xsd应该在我的类路径上,它在cxf rt前端jaxws jar中。

cxf文档有时使用,有时使用
Cxf3需要s/jaxws.xsd

当定义自己名称空间的与Spring相关的lib实际上不在类路径中时,也可能发生这种情况。Spring找不到命名空间处理程序(位于此类库的
META-INF/Spring.handlers
),因此无法解析自定义命名空间

但是是的,如果名称空间定义不正确,那么Spring将永远找不到所需的名称空间处理程序:)