转自https://www.pianshen.com/article/4737505565/
发布到weblogic上,输入网址http://localhost:7002/CxfTest/ws/helloService?wsdl;能正常显示出xml
1、但是在客户端调用时
JaxWsProxyFactoryBean soapFactoryBean = new JaxWsProxyFactoryBean();
soapFactoryBean.setAddress("http://localhost:7002/CxfTest/ws/helloService");
soapFactoryBean.setServiceClass(IHelloService.class);
IHelloService helloService2 = (IHelloService)soapFactoryBean.create();
System.out.println("JaxWsProxyFactoryBean调用:"+helloService2.sayHello("Peter"));
就报错:javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory
很多童鞋说缺少了两个jar包(stax2-api-3.1.x.jar 和 woodstox-core-asl-4.2.x.jar)
但是项目lib中已经包含了这2个包的;
在tomcat上运行正常,但在weblogic上就报该错误!
后经发现weblogic自带了很多jar包 当工程中的jar和weblogic自带jar版本不一致时 往往会出现错误。
为了解决在weblogic中jar包冲突的问题 在web-inf下创建一个weblogic.xml
<?xml version="1.0"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<!-- 预先加载项目中的jar包 -->
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
本文来自博客园,作者:不安分的黑娃,转载请注明原文链接:https://www.cnblogs.com/lihw-study/p/16993389.html