weblogic10 部署 spring+cxf ,調用時報:cannot create a secure XmlInputFactory
一個cxf webservice項目部署到tomcat能正常運行,客戶端也能正常調用。
然后我部署到weblogic,同樣能成功訪問wsdl,但是客戶端請求就報錯cannot create a secure XmlInputFactory。
后面按照網上說的只要在cxf webservice項目路徑下(WebContent\WEB-INF\weblogic.xml)增加這個XML文件
內容如下:
- <?xml version="1.0" encoding="UTF-8" ?>
- <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>
- <index-directory-enabled>true</index-directory-enabled>
- <prefer-web-inf-classes>true</prefer-web-inf-classes>
- </container-descriptor>
- </weblogic-web-app>
就可以了。
深究其原因應該是weblogic里面自帶的jax-ws包把項目里的cxf包沖掉了。所以,上面的XML配置是為了使項目的jar包優先導入與weblogic的jar包。
如果添加該文件部署好應用后,啟動應用時報錯:Invalid schema document passed to AbstractDataBinding.addSchemaDocument, not in W3C schema namespace: schema
嘗試刪除一個包jaxb-impl-2.2.11.jar 重新部署試試。
