0

CXF を使用する他のクライアントが既にある Web アプリケーションにOpenCmisクライアントを追加しようとしています。Weblogic にデプロイされます。http://chemistry.apache.org/java/opencmis-client-bindings.htmlに基づいて OpenCMIS クライアントが動作しています。

問題は、他のクライアントの実装と一緒に置くときです。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)

連携させる方法はありますか?

4

2 に答える 2

1

私自身の質問に答えるために。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-01-27T19:47:18.550 に答える
0

提供されている CXF-jar のバージョンと、openCMIS で必要なバージョンを確認してください。CXF-2.2.12 を使用できるように、openCMIS-0.8.0 にダウングレードする必要がありました (バージョンの制限は、他のフレームワークの依存関係に適用されます)。

于 2014-10-16T09:24:02.743 に答える