2011-12-17 18 views
0

JAVA Lotus Notes APIを使用して外部サーバーからLotus Notes(.nsf)データにアクセスするために作業していましたが、 NSF。NSFにアクセスする際にLotus Notes APIでエラーが発生する

NotesException: Not implemented 
    at lotus.domino.cso.Base.notImplemented(Unknown Source) 
    at lotus.domino.cso.View.getAllUnreadEntries(Unknown Source) 
    at com.lotus.GetName.runNotes(GetName.java:40) 
    at lotus.domino.NotesThread.run(Unknown Source) 

観察:

  1. 私は外部のサーバにアクセスすることができるクラスパス(Notes.jarに)
  2. と私の設定を再確認しています。外部サーバ

上のLotus Dominoのセッションを作成する

  • エイブルは、だから私は、この問題を整理するために、任意の提案やソリューションのすべてを要求したいと思います。


    お返事ありがとうございます。私は本当にそれを感謝します。私はNCSO.jarを使用しています。私はリモートの呼び出しを行っています。私は自分の管理者にチェックし、同じNCSO.jarとNotes.jarを要求しました。使用しているサーバーは8.5です。しかし、それはまだ同じエラーを投げている。それ以外に、私はNotes Java Developmentに完全に初心者であるため、Eclipseを使用してJavaを作成して使用する方法はわかりません。できるだけ早く私を助けてください。ありがとう。 :)

    私が使用しているコードは次のとおりです。

    public class GetName 
    { 
        public static void main(String argv[]) 
        { 
         try 
         { 
    
          Database db; 
    
          String ior = NotesFactory.getIOR("****"); 
    
          Session s = NotesFactory.createSessionWithIOR(ior,"****","****"); 
    
          db = s.getDatabase("****","mail/mail1/****"); 
    
        View v = db.getView("$Inbox"); 
    
    System.out.println(v.getAllUnreadEntries().getCount());// Getting error on this line 
    } 
    } 
    
  • +0

    対応するソースコードも表示してください。 – leyrer

    +0

    クライアントマシンにNotes Clientがインストールされていますか? notes.jarには、Notesクライアントのインストールが必要です。nnotes.dllファイルとnotes.iniファイルをローカルに検索してロードできる必要があります。 –

    +0

    あなたのコードが実行されているマシンで、どのバージョンのノートまたはドミノを実行していますか? –

    答えて

    -1

    あなたが使用Notes.jarは、ローカルのLotus Notesインストールから取られた場合、私はローカルでのみ実行されているノーツクライアントにアクセスするために使用することができると思います。リモートサーバにアクセスするには、別のjarファイルNCSO.jarがあり、これはリモートのCorba/IIOPプロトコルを実装しています。サーバからこのjarのコピーを得るように管理者に依頼する必要があるでしょう。

    +2

    いいえ、Notes.jarはサーバー上のデータベースにアクセスできます。メモやドミノがインストールされていないコンピュータでコードを実行している場合は、ncso.jarだけが必要です。 –

    1

    私は、より多くの情報なしでここにいくつかのことを推論しなければならないでしょう。まず、エラーはLotus Notes/Domino 8.5のみで使用できる機能を使用していることを示しています。エラーが「実装されていません」と言うと、getAllUnreadEntriesを実装していないNotes.jar/NCSO.jarを使用していると思います。私はこの問題があなたの論理ではなく環境だと思っています。

    プロジェクトにインポートしたjarファイルがDomino 8.5からのものであることを確認します。以前のバージョンのDominoのJava APIでは、「getAllUnreadEntries」はサポートされていません。

    Lotus Notesクライアント(notes \ jvm \ lib \ extディレクトリにあります)にインストールされている(defautによって)jarファイルを見つけてコピーすることをお勧めします。また、コンパイルしているjarファイルが、実行しているバージョンと一致していることを確認してください。したがって、Notes 8.5 jarファイルを使用してこれを開発し、これをサーバーまたはクライアント上のDomino 7または8.0で実行すると、存在しないメソッドを実行しようとしてエラーが発生します。あなたはそれが8.5上で実行されていることを確認する必要があります。

    次は、Domino Designerのヘルプから抽出したJavaエージェントの例で、ビュー内の未読エントリにアクセスします。

    import lotus.domino.*; 
    
    public class JavaAgent extends AgentBase { 
    
        public void NotesMain() { 
        try { 
         Session session = getSession(); 
         AgentContext agentContext = session.getAgentContext(); 
         // (Your code goes here) 
         Database db = agentContext.getCurrentDatabase(); 
         View view = db.getView("All"); 
         ViewEntryCollection vec = view.getAllUnreadEntries(); 
         System.out.println("View has " + 
         vec.getCount() + " unread entries");  
         view.markAllRead(); 
         view.refresh(); 
         vec = view.getAllUnreadDocuments(); 
         System.out.println("View has " + 
         vec.getCount() + " unread entries after markAllRead");  
        } catch(Exception e) { 
         e.printStackTrace(); 
        } 
        } 
    } 
    

    それはJavaエージェントのための「AgentBaseから派生」を使用していますので、これはまさに、あなたが何をしようとして反映されないことがあります。しかし、tryステートメント内のすべてが適用可能です。あなたがNotesエージェントの外で走っているように思えます。

    Notes.jarとNCSOを確認して、Domino-Java APIを使用するクラスを作成できます。jarがクラスパスにあり、どのインポートが実際に使用されているかを確認します。 If you're not doing remote calls lotus.domino。*はlotus.domino.cso。*ではありません。

    +0

    ご返信ありがとうございます。私は本当にそれを感謝します。私はNCSO.jarを使用しています。私はリモートの呼び出しを行っています。私は自分の管理者にチェックし、同じNCSO.jarとNotes.jarを要求しました。使用しているサーバーは8.5です。しかし、それはまだ同じエラーを投げている。それ以外に、私はNotes Java Developmentに完全に初心者であるため、Eclipseを使用してJavaを作成して使用する方法はわかりません。できるだけ早く私を助けてください。ありがとう。 :) –

    +0

    今すぐエラーを生成しているクラスであなたの質問を更新する必要があります。あなたは "lotus.domino.cso.Base"クラスをインスタンス化しようとしていますか? – giulio

    関連する問題