importXML
xml ファイルからのインポートを使用するrep:security
と、エラーが発生しました。解決策が見つかりません。【以前exportSystemView
は輸出していたrep:security
】
InputStream input = new FileInputStream("d:\\bk.xml");
session.importXML("/", input, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
input.close();
session.save();
ワークスペースの構成:
<?xml version="1.0" encoding="UTF-8"?>
<Workspace name="security">
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${wsp.home}"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
<param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="shutdownOnClose" value="false"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
<param name="supportHighlighting" value="true"/>
</SearchIndex>
<Import>
<ProtectedNodeImporter class="org.apache.jackrabbit.core.xml.AccessControlImporter"/>
<ProtectedItemImporter class="org.apache.jackrabbit.core.security.user.UserImporter">
<param name="importBehavior" value="besteffort"/>
</ProtectedItemImporter>
</Import>
</Workspace>
次の例外がスローされます。
javax.jcr.nodetype.ConstraintViolationException: /rep:security/rep:authorizables
/rep:groups/U/Us/UserAdmin: mandatory property {internal}principalName does not
exist
at org.apache.jackrabbit.core.ItemImpl.validateTransientItems(ItemImpl.j
ava:464)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1097)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:920)....
解決策が見つかりませんでした。解決策を知っている人はいますか? 前もって感謝します。