2017-12-06 15 views
0

私はJava Webサービスを持っています。根本的なノートdbは、 "名前"タイプのフィールドを持つフォームを持っています。これらすべての名前のリストを含むビューが定義されています。 Webサービスには、定義された関数があり、その名前が与えられた場合、その人の電子メールアドレスが返されます。私たちは最近、ロータスノーツからOutlookに電子メールを移行しました。標準的なフォーマットではなく標準のsmtpフォーマット([email protected])で電子メールアドレスを返す必要があります。現在のコードは以下の通りです:Java Webサービスがsmtp電子メールアドレス形式を取得

パブリック文字列getSalespersonCommonName(文字列の営業担当者は)あなたがDominoディレクトリに名前でユーザーを検索し、そこからのSMTPアドレスを取得する必要があります例外{

try 
    { 
     View salespersonView; 
     DocumentCollection docs; 

     d = s.getCurrentDatabase(); 

     if (d != null) { 
      // get the salesperson 
      salespersonView = d.getView("vAllSalespersons"); 

      docs = salespersonView.getAllDocumentsByKey(salesperson); 

      if (docs.getCount() > 0) 
      { 
       doc = docs.getFirstDocument(); 

       return doc.getItemValueString("Salesperson"); 

      } else { 
       return ""; 
      } 

     } else { 
      return ""; 
     } 

    } catch (Exception e) { 
     throw e; 
    } 

} 

答えて

2

をスローします。 Directory.LookupNames()メソッドは複数のディレクトリで自動的に動作するため、これを行う "公式の"方法ですが、names.nsfのビューに直接アクセスする実装が多数あります。

まず、ユーザーのOutlook SMTPアドレスが実際にDominoディレクトリに入力されていることを確認し、入力されたフィールドを確認する必要があります。 Outlook SMTPアドレスが古いDomino SMTPアドレスと異なる場合は、転送アドレスフィールドにOutlookアドレスを入力するのが一般的です。

+1

良い助言ですが、1つのマイナーな明確化:Java版のlookupNames()は、https://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/basic/H_LOOKUPNAMES_METHOD_DIRECTORY_JAVA.htmlにあります。 –

関連する問題