Autor Thema: javaagent tut nicht das Gewünschte  (Gelesen 3390 mal)

Offline Harald Wendt

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
javaagent tut nicht das Gewünschte
« am: 22.09.11 - 11:54:09 »
Öffne ich die Datenbank unter Notes funktioniert der Agent einwandfrei, öffne die Datenbank im Browser und löse dort diese Aktion aus, die mir einen Feldwert im ausgewählten Dokument ändern soll, wird leider nichts geändert.

Der Agent wird über eine Schaltfläche in einer Ansicht auf ausgewählte Dokumente ausgelöst.
Leider tut er nicht das, was ich erwarte. Er ändert mir den Feldwert nicht.
Wenn ich das Dokument (im Browser) öffne und dann den Agenten auslöse,  dann bekomme ich mein gewünschtes Ergebnis.
Nun, ich bin in Javascript nicht so bewandert, aber was ist denn an dem Agent falsch, habe ich etwas übersehen?
.
.
Ich habe in dem Agenten folgenden Code hinterlegt.

import lotus.domino.*;

public class JavaAgent extends AgentBase {

   public void NotesMain() {

      try {
         Session session = getSession();
         AgentContext agentContext = session.getAgentContext();
         DocumentCollection dc = agentContext.getUnprocessedDocuments();
              Document doc = dc.getFirstDocument();
                        
         while (doc != null) {
         doc.replaceItemValue("Deleted","1");
         doc.save(true, false);
         doc.putInFolder("(Trash)");
         
         agentContext.updateProcessedDoc(doc);
                   doc = dc.getNextDocument(doc);
                       }
            
         } catch(Exception e) {
         e.printStackTrace();
      }
   }
}
« Letzte Änderung: 22.09.11 - 13:20:53 von Harald Wendt »

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: javaagent tut nicht das Gewünschte
« Antwort #1 am: 23.09.11 - 11:20:27 »
Ein Javaagent wird bei dir durch den Client ausgeführt, das funktioniert so im Browser nicht, im Browser gehen auch kein LotusScript! Kann ja der Browser auch gar nicht kennen ;) Java im Browser geht nur als Applet.
Deine Web-Aktion muss logisch gesehen anders laufen als wie es in Notes geschieht, d.h. dein Code muss im Backend ausgeführt werden. Das geht entweder über ein form.submit() und einem WebQuerySave-Agent oder über einen speziell zusammengebastelten Agentenaufruf.
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz