J'ai créé une class Java dans une bib permettant d'effectuer différentes action sur base Notes, documents, vues, etc...
Cette class est divisée en différentes fonction dont une permettant d'ouvrir une base notes, celle-çi renvoyant un objet de type database.
Le problème est qu'il n'ouvre même pas la base dans la fonction...ce qui est très gênant :/
A cette fonction, je passe en paramètre le serveur et le nom de la base.
J'ai ajouté des messages pour contrôler la session et le username est tout est correcte.
Je n'ai aucun message d'erreur, seulement qu'il n'ouvre pas la base et le isopen() est à false...
J'ai testé en faisant un getDatabase directement dans l'agent et pas de problème, il m'ouvre bien la base :/
Auriez-vous une idée ? Un truc que je fais mal ?
Voici le code :
- Code : Tout sélectionner
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.NotesException;
import lotus.domino.Session;
import lotus.domino.View;
public class ConnectNOTES {
private String dtb;
private String srv;
private Session s;
private Database dbNotes;
String view;
String searchWord;
public ConnectNOTES(Session ses, String[] args){
this.dtb = args[0];
this.srv = args[1];
this.s = ses;
}
public Database getConnectionBase() throws NotesException {
try{
System.out.println("Java 1--> " + srv + " - " + dtb);
System.out.println("Java 2--> " + s.getNotesVersion());
System.out.println("Java 3--> " + s.getEffectiveUserName());
dbNotes = s.getDatabase(srv, dtb);
if (dbNotes.isOpen()){
System.out.println("DBNotes : Connection Successful!");
} else {
System.out.println("DBNotes : Connection Failed!");
}
}catch(NotesException e){
e.printStackTrace();
System.out.println("ConnectNOTES - Error Trace in getConnectionBase() : " + e.getMessage());
}
return dbNotes;
}
public Document getDocumentParametre(Database db, String[] args) {
Document document = null;
try {
this.view = args[0];
this.searchWord = args[1];
View viewParam = db.getView(view);
document = viewParam.getDocumentByKey(searchWord, true);
} catch (NotesException e){
e.printStackTrace();
System.out.println("ConnectNOTES - Error Trace in getDocumentParametre() : " + e.getMessage());
}
return document;
}
....
}
Dans l'agent Java notes, l'appel de la fonction se fait :
- Code : Tout sélectionner
//Instanciation objet connectNotes
Database curDb = agentContext.getCurrentDatabase();
String[] paramNOTESArray;
paramNOTESArray = new String[2];
paramNOTESArray[0] = curDb.getServer();
paramNOTESArray[1] = "path DB";
ConnectNOTES connectNotes = new ConnectNOTES(session, paramNOTESArray);
Database db = connectNotes.getConnectionBase();
if (!db.isOpen()) {
System.out.println("Erreur à l'ouverture de la base xxxxx");
} else {
System.out.println("xxxxx ouverte");
}
Merci de votre aide.
Vince.
PS: Lotus 8.5.1FP3