2012-08-10 52 views
0

我正在一個Liferay的門戶,通過CMIS和WSDL綁定連接到一個露天倉庫,(BINDING_TYPE = BindingType.WEBSERVICES)設立露天開放式CMIS擴展

到目前爲止,我已經實現了最所需功能(瀏覽,文件夾/文檔管理,文檔版本,權限等)。現在是時候實施一些與方面相關的功能,所以現在是時候使用露天開放cmis擴展,這似乎是一個簡單的過程。

的事情之一,我所要做的,是改變會話工廠以「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:未知的aspect屬性:http://docs.oasis-open.org/ns/cmis/core/200908/ at org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl.convertProperties(AlfrescoObjectFactoryImpl.java:265) at org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject .initialize(AbstractCmisObject.java:108) at org.alfresco.cmis.client.impl.AlfrescoFolderImpl.initialize(AlfrescoFolderImpl.java:46) at org.apache.chemistry.opencmis.client.runtime.FolderImpl。(FolderImpl.java:69) at org.alfresco.cmis.client.impl.AlfrescoFolderImpl。(AlfrescoFolderImpl.java:39) ..... ....................


我使用: Liferay的6.1和露天-opencmis擴展-0.3.jar

和存儲庫是alfresco Community - v4.0.0(4003)


到目前爲止,我最好的猜測是某些屬性定義沒有正確設置,因爲命名空間是作爲方面屬性傳遞的

有關我在做什麼錯誤的任何想法?

請注意,我還沒有嘗試做任何方面相關的事情。通過評論'OBJECT_FACTORY_CLASS'參數,一切正常!

+0

如果您添加獲取AlfrescoFolderImpl對象的代碼,將會有所幫助。 – 2012-08-10 15:14:02

+0

您是否嘗試使用AtomPub綁定,而不是檢查它是否是ws問題? (另外,AtomPub綁定通常要快一點!) – Gagravarr 2012-08-10 15:30:35

+0

@jeff Potts:Ι沒有覆蓋任何有關Alfresco Impl的內容。我只是在open-cmis-extension教程之後將OBJECT_FACTORY_CLASS添加到會話參數中。 – yannicuLar 2012-08-12 21:01:49

回答

1

按照Gagravarr的想法,我嘗試了一個ATOMPUB綁定而不是Web服務,並且我終於成功連接了。

原來,AlfrescoAspectsUtils.findAlfrescoExtensions獲取的alfrescoExtensions包含不正確的propertyDefinitionId屬性,導致AlfrescoAspectsUtils.findAspect崩潰。

也許Webservice的用於該儲存庫結合可能沒有被正確

設置一些調試後,相同的屬性值分別爲

WSDL: -propertyDefinitionId =(HTTP)://文檔。 oasis-open.org/ns/cmis/core/200908/

ATOM: propertyDefinitionId =應用程式:圖標

謝謝Gagravarr!