我正在尝试向web应用程序添加一个OpenCmis客户端,该应用程序已经有其他客户端使用CXF。它将部署在Weblogic上。我让OpenCMIS客户端基于http://chemistry.apache.org/java/opencmis-client-bindings.html工作
问题是当我将它与其他客户端实现放在一起时。对于CXF,我必须使用一些首选包修改weblogic-application.xml,并且OpenCMIS客户端不能工作。我得到的例外是:
Caused By: java.lang.ClassCastException: com.sun.proxy.$Proxy136 cannot be cast to com.sun.xml.ws.developer.WSBindingProvider
at org.apache.chemistry.opencmis.client.bindings.spi.webservices.SunRIPortProvider.createPortObject(SunRIPortProvider.java:84)
at org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.getPortObject(AbstractPortProvider.java:458)
at org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractPortProvider.getRepositoryServicePort(AbstractPortProvider.java:280)
at org.apache.chemistry.opencmis.client.bindings.spi.webservices.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:69)
at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:85)
at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:109)
at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:96)有什么办法能让它一起运作吗?
发布于 2014-01-27 19:47:18
回答我自己的问题。我只需要为opencmis添加一个绑定库:
<dependency>
<groupId>org.apache.chemistry.opencmis</groupId>
<artifactId>chemistry-opencmis-client-bindings</artifactId>
<version>${version.opencmis}</version>
</dependency>然后将其添加到初始化中:
parameter.put(SessionParameter.WEBSERVICES_PORT_PROVIDER_CLASS, CXFPortProvider.class.getName());发布于 2014-10-16 09:24:02
检查提供的CXF版本和openCMIS所需的版本。我需要降级到openCMIS-0.8.0,这样我就可以使用CXF-2.2.12 (对其他框架依赖项的版本限制)。
https://stackoverflow.com/questions/21389346
复制相似问题