2016-04-12 18 views
2

ben gibi yoluna göre bir klasör kimliği almaya çalışıyorum:Apache Chemistry CMIS API'da karakter kümesi nasıl ayarlanır?

/SIGAP/2011/DIRECCIÓN GENERAL DE PRUEBAS/SIN EXPEDIENTE/20100

ve gördüğünüz gibi özel bir karakter Ó var:

Folder folder = (Folder) getCmisSession().getObjectByPath(folderPath); 

ve ben talep ediyorum yolu olduğunu kimyayı atar dize,

hatadır:

STACK TRACE: 
org.cmis.ws.CmisException: Not found an object for the specific path: /SIGAP/2011/DIRECCIÃ?N GENERAL DE PRUEBAS/OFICIOS 
    at com.emc.documentum.fs.cmis.impl.dfs.utils.CmisExceptionFactory.create(CmisExceptionFactory.java:24) 
    at com.emc.documentum.fs.cmis.impl.dfs.utils.CmisExceptionBuilder.build(CmisExceptionBuilder.java:31) 
    at com.emc.documentum.fs.cmis.impl.dfs.action.GetObjectByPathAction.getNonCabinetObjectByPath(GetObjectByPathAction.java:170) 

dize 'dan DIRECCIÃ?N,

dizgisini değiştirir, diziyi utf-8 olacak şekilde nasıl ayarlayabilirim? ya da yolu nasıl kodlamalıyım?

Güncelleme 1: FlorianMüller @ gibi

SoapUI yardımıyla, sugested, böyle yol ile aynı klasör istemeyi deneyin:

<soapenv:Body> 
     <ns:getObjectByPath> 
     <ns:repositoryId>LHD_ECM</ns:repositoryId> 
     <ns:path>/SIGAP/2011/DIRECCIÓN GENERAL DE PRUEBAS/SIN EXPEDIENTE/20100</ns:path> 
     </ns:getObjectByPath> 
    </soapenv:Body> 

ve sunucu rigth anladım aldı:

<S:Body> 
     <ns2:getObjectByPathResponse xmlns="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:ns2="http://docs.oasis-open.org/ns/cmis/messaging/200908/"> 
     <ns2:object> 
      <properties> 
       <propertyString queryName="cmis:name" displayName="Name" localName="object_name" propertyDefinitionId="cmis:name"> 
        <value>20100</value> 
       </propertyString> 
       <propertyId queryName="cmis:objectTypeId" displayName="Object Type ID" localName="r_object_type" propertyDefinitionId="cmis:objectTypeId"> 
        <value>sigapfolio</value> 
       </propertyId> 
       <propertyId queryName="cmis:baseTypeId" displayName="Base Type Id" localName="" propertyDefinitionId="cmis:baseTypeId"> 
        <value>cmis:folder</value> 
       </propertyId> 
       <propertyId queryName="cmis:objectId" displayName="Object Id" localName="r_object_id" propertyDefinitionId="cmis:objectId"> 
        <value>0b00020280080815</value> 
       </propertyId> 
       <propertyString queryName="cmis:createdBy" displayName="Created By" localName="r_creator_name" propertyDefinitionId="cmis:createdBy"> 
        <value>dmadmin</value> 
       </propertyString> 
       <propertyDateTime queryName="cmis:creationDate" displayName="Creation Date" localName="r_creation_date" propertyDefinitionId="cmis:creationDate"> 
        <value>2016-04-05T04:54:44.000-05:00</value> 
       </propertyDateTime> 
       <propertyString queryName="cmis:lastModifiedBy" displayName="Last Modified By" localName="r_modifier" propertyDefinitionId="cmis:lastModifiedBy"> 
        <value>dmadmin</value> 
       </propertyString> 
       <propertyDateTime queryName="cmis:lastModificationDate" displayName="Last Modification Date" localName="r_modify_date" propertyDefinitionId="cmis:lastModificationDate"> 
        <value>2016-04-05T04:54:44.000-05:00</value> 
       </propertyDateTime> 
       <propertyString queryName="cmis:changeToken" displayName="Change Token" localName="i_vstamp" propertyDefinitionId="cmis:changeToken"> 
        <value>1</value> 
       </propertyString> 
       <propertyId queryName="cmis:parentId" displayName="Parent Id" localName="i_folder_id" propertyDefinitionId="cmis:parentId"> 
        <value>0b00020280005a3b</value> 
       </propertyId> 
       <propertyString queryName="cmis:path" displayName="Folder Path" localName="r_folder_path" propertyDefinitionId="cmis:path"> 
        <value>/SIGAP/2011/DIRECCIÓN GENERAL DE PRUEBAS/SIN EXPEDIENTE/20100</value> 
       </propertyString> 
       <propertyId queryName="cmis:allowedChildObjectTypeIds" displayName="Allowed Child Object Type IDs" localName="" propertyDefinitionId="cmis:allowedChildObjectTypeIds"> 
        <value>cmis:folder</value> 
        <value>cmis:document</value> 
       </propertyId> 
      </properties> 
     </ns2:object> 
     </ns2:getObjectByPathResponse> 
    </S:Body> 
</S:Envelope> 

yüzden Apache Kimya yanlış bir şeyler kesinlikle var :(

+0

Dizeyi Java'ya doğru şekilde aktardığınızdan emin misiniz? – Gagravarr

+0

@Gagravarr evet, yürütmeden önce kodun hata ayıklaması dize doğruydu. –

+1

OpenCMIS zaten burada UTF-8 kullanıyor. Bu sorun Unicode normalizasyonu (NFC/NFD) ile ilgilidir. Tüm CMIS bağlamaları arasında yalnızca NFC güvenilirliktir. İstemci tarafında yapabileceğiniz pek bir şey yok. Depo bunu yönetmelidir. –

cevap

3

Bu yüzden sorun bağlayıcı, AtomPub'dan Web servislerine geç ve sorun gitti.

parameter.put(SessionParameter.BINDING_TYPE, BindingType.WEBSERVICES.value()); 
+0

FYI ** Apache Kimya ** webservices bağlama türünde 0.13.0 ** yok ** NOT ** java 8 ile çalışmak, ** ** 6 :(kullanmak zorunda –

İlgili konular