使用PowerMockRunner时,Apache Cxf失败

时间:2016-10-31 07:06:25

标签: java apache web-services cxf powermock

我正在尝试测试我的应用程序的一个组件,它使用Apache Cxf作为客户端来创建服务端口。我阅读了Apache Cxf的文档,其中提到EasyMock是更好的模拟框架,但在我的情况下我需要使用PowerMock扩展(我想模拟静态方法并使用MockPolicy)。我使用JaxWsProxyFactoryBean类来创建服务端口,当运行test whit EasyMockRunner时,一切正常,但是使用PowerMockRunner,同样的测试失败并出现此错误。

Oct 31, 2016 9:27:18 AM org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
INFO: Creating Service {urn:... from class defpack.MyService
java.lang.RuntimeException: Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in W3C schema namespace: schema
    at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:110)
    at org.apache.cxf.databinding.AbstractDataBinding.addSchemaDocument(AbstractDataBinding.java:96)
    at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:388)
    at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:696)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:529)
    at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:262)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:91)
    at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:157)
    at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:142)

任何想法如何修复或解决它?

0 个答案:

没有答案