2017-12-06 15 views
0

Java 웹 서비스가 있습니다. 기본 노트 db에는 "이름"유형의 필드가있는 양식이 있습니다. 이 모든 이름의 목록을 포함하는 정의 된보기가 있습니다. 웹 서비스에는 정의 된 함수가 있으며 이름이 주어지면 사람의 전자 메일 주소를 반환합니다. 우리는 최근 LotusNotes에서 Outlook으로 이메일을 마이그레이션하여 정식 형식 대신 표준 smtp 형식 ([email protected])으로 전자 메일 주소를 반환해야합니다. 현재 코드는 다음과 같습니다 :Java 웹 서비스에서 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

좋은 조언이지만, 한 가지 사소한 설명 : 'lookupNames()'의 Java 버전에 대한 문서는 https://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.1/basic/H_LOOKUPNAMES_METHOD_DIRECTORY_JAVA.html에 있습니다. –