0

Cmisおよびwsdlバインディングを介してAlfrescoリポジトリに接続するLiferayポートレットに取り組んでいます(BINDING_TYPE = BindingType.WEBSERVICES)

これまでのところ、必要な機能 (ブラウジング、フォルダー/ドキュメントの管理、ドキュメントのバージョン、権限など) のほとんどを実装しました。今度は、いくつかのアスペクト関連の機能を実装するときです。そのため、単純なプロセスのように見える alfresco open-cmis-extensions を使用するときが来ました。

私がしなければならなかったことの 1 つは、Session Factory を「AlfrescoObjectFactoryImpl」に変更することでした。

parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

その後、まだセッションの取得に成功していますが、リポジトリ フォルダーを取得しようとするとすぐに、フォルダー プロパティの変換中に InvalidArgumentException が発生します。


私のデバッグログ:

! 12:51:11,542 DEBUG CmisWebServicesSpi:58 - Web サービス SPI を初期化しています... 12:51:11,692 DEBUG AbstractPortProvider:244 - Web サービス org.apache.chemistry.opencmis.binding.webservices.ObjectService を初期化しています... 12:51: 16,426 DEBUG PortProvider:65 - {http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectService の Web サービス ポート オブジェクトを作成しています... 12:51:36,103 エラー [render_portlet_jsp:154] Java .lang.IllegalArgumentException: 不明なアスペクト プロパティ: http://docs.oasis-open.org/ns/cmis/core/200908/ org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl.convertProperties(AlfrescoObjectFactoryImpl.java:265) で org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.initialize(AbstractCmisObject.java:108) で org.alfresco.cmis .client.impl.AlfrescoFolderImpl.initialize(AlfrescoFolderImpl.java:46) org.apache.chemistry.opencmis.client.runtime.FolderImpl.(FolderImpl.java:69) org.alfresco.cmis.client.impl.AlfrescoFolderImpl. (AlfrescoFolderImpl.java:39) ...................................


私が使用している: Liferay 6.1 と alfresco-opencmis-extension-0.3.jar

リポジトリは alfresco Community - v4.0.0 (4003) です。


これまでのところ、名前空間がアスペクトプロパティとして渡されるため、一部のプロパティ定義が正しく設定されていないことが推測されます

私が間違っていることについて何か考えはありますか?

アスペクト関連のことはまだ試していないことに注意してください。「OBJECT_FACTORY_CLASS」パラメータをコメントアウトすることで、すべて正常に動作します!

4

1 に答える 1

1

Gagravarrさんのアイデアに従って、Web サービスの代わりに ATOMPUB バインディングを試してみたところ、ようやく接続に成功しました。

AlfrescoAspectsUtils.findAlfrescoExtensions によってフェッチされた alfrescoExtensions には、誤った propertyDefinitionId を持つプロパティが含まれていたため、AlfrescoAspectsUtils.findAspect でクラッシュが発生していました。

おそらく、そのリポジトリの Webservice バインディングが正しく設定されていない可能性があります

いくつかのデバッグの後、同じプロパティ値が

WSDL: -propertyDefinitionId = (http)://docs.oasis-open.org/ns/cmis/core/200908/

ATOM: propertyDefinitionId = app:icon

ありがとうガグラヴァー!

于 2012-08-13T07:27:44.377 に答える