0

JavaベースのDXLインポートに問題があります。

Javaフレームワークを介してプロパティファイルを維持したいと考えています。ファイルシステムで一時ファイルを使用しています(ローカルサーバーで作業しています)。新しいプロパティファイルをファイルシステムにエクスポートし、同じフォルダーにDXLファイルを生成してから、DXLをデータベースにインポートしようとしています。

インポーターのいくつかのオプションを実行し、sessionAsSignerWithFullAccessを使用してストリームとインポーターを作成しています。コードは、すべてにフルアクセスできるサーバー管理者のIDで署名されています。

DXLをインポートすると、「DXLインポート操作に失敗しました」というエラーメッセージのみが表示されますが、インポーターのエラーログには、この操作を実行する権限がないことが示されています。

何が問題になるのか分かりますか?私の観点からは、サーバーに対するこれ以上の権限をユーザーに与えることはできません。

インポート関数のコードは次のとおりです。

private void importDXLFile(String filepath) {
    String dxlPath = filepath.replaceAll(".properties", ".dxl");
    DxlImporter importer = null;
    Stream stream = null;

    System.out.println("dxlPath: " + dxlPath);

    try {           
        stream = BCCJsfUtil.getCurrentSessionAsSignerWithFullAccess(FacesContextEx.getCurrentInstance()).createStream();
        if (!stream.open(dxlPath, "ISO-8859-1")) {
            System.out.println("Cannot read " + dxlPath + " from server");
        }
        System.out.println("User: " + BCCJsfUtil.getCurrentSessionAsSignerWithFullAccess(FacesContextEx.getCurrentInstance()).getEffectiveUserName());
        importer = BCCJsfUtil.getCurrentSessionAsSignerWithFullAccess(FacesContextEx.getCurrentInstance()).createDxlImporter();
        importer.setReplaceDbProperties(false);
        importer.setReplicaRequiredForReplaceOrUpdate(false);
        importer.setDesignImportOption(DxlImporter.DXLIMPORTOPTION_REPLACE_ELSE_CREATE);
        importer.setInputValidationOption(DxlImporter.DXLVALIDATIONOPTION_VALIDATE_NEVER);
        importer.setExitOnFirstFatalError(false);
        importer.importDxl(stream.readText(), BCCJsfUtil.getCurrentDatabase());

        stream.close();
    } catch (NotesException e) {
        e.printStackTrace();
        try {
            System.out.println("Log: " + importer.getLog());
            System.out.println("LogComment: " + importer.getLogComment());

        } catch (NotesException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    }
}

ご覧のとおり、私はいくつかのオプションを試しましたが、それが何かを変えることを期待していますが、それは常に同じエラーメッセージです。生成されたDXLは、Ytriaを使用して手動でインポートできるため、有効なようです。

誰かがアイデアを持っていることを願っています。どんな助けでもいただければ幸いです。

前もって感謝します。

マティアス

4

1 に答える 1

3

ACL設定を確認してください:「最大インターネット名とパスワード」が「マネージャー」または「デザイナー」に設定されていますか?

于 2013-01-09T10:18:59.423 に答える