We recently upgraded servers from R6.5 to R8.0
We get the following error:
09/03/2008 02:20:43 PM HTTP JVM: Exception in thread “Launcher: JavaAgent”
09/03/2008 02:20:43 PM HTTP JVM: java.lang.NoClassDefFoundError: com.ibm.xml.parsers.NonValidatingDOMParser
09/03/2008 02:20:43 PM HTTP JVM: at java.lang.J9VMInternals.verifyImpl(Native Method)
09/03/2008 02:20:43 PM HTTP JVM: at java.lang.J9VMInternals.verify(J9VMInternals.java:68)
09/03/2008 02:20:43 PM HTTP JVM: at java.lang.J9VMInternals.initialize(J9VMInternals.java:129)
09/03/2008 02:20:43 PM HTTP JVM: at java.lang.Class.newInstanceImpl(Native Method)
09/03/2008 02:20:43 PM HTTP JVM: at java.lang.Class.newInstance(Class.java:1300)
09/03/2008 02:20:43 PM HTTP JVM: at lotus.domino.AgentInfo.newInstance(Unknown Source)
09/03/2008 02:20:43 PM HTTP JVM: at lotus.domino.AgentLauncher.run(Unknown Source)
09/03/2008 02:20:43 PM HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source)
When the following agent runs:
import lotus.domino.*;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.Vector;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
public class JavaAgent extends AgentBase {
private Session ssn;
private Vector vAllObjects = new Vector();
public void NotesMain() {
try {
// Get the current database and current document
ssn = getSession();
AgentContext ac = ssn.getAgentContext();
vAllObjects.addElement(ac);
Database dbCurrent = ac.getCurrentDatabase();
vAllObjects.addElement(dbCurrent);
lotus.domino.Document docContext = ac.getDocumentContext();
vAllObjects.addElement(docContext);
PrintWriter out = getAgentOutput();
// Get the variables
String sRC = docContext.getItemValueString("Request_Content");
int iPos2 = sRC.lastIndexOf("~");
int iPos = sRC.lastIndexOf("~",iPos2-1);
String sKey = sRC.substring(0,iPos);
double dDollar = Double.valueOf(sRC.substring(iPos+1,iPos2)).doubleValue();
String sCreditType = sRC.substring(iPos2 + 1);
// Get a collection of documents for the specified group
View vwLookup = dbCurrent.getView("vwLGRPR");
vAllObjects.addElement(vwLookup);
DocumentCollection colGroups = vwLookup.getAllDocumentsByKey(sKey);
if(colGroups.getCount() == 0)
return; // nothing to process
// Get the correct document
lotus.domino.Document docGroup = colGroups.getFirstDocument();
while(docGroup != null) {
double dMin = new Double(docGroup.getItemValueDouble("Group_Min")).doubleValue();
if(dDollar >= dMin) {
double dMax = new Double(docGroup.getItemValueDouble("Group_Max")).doubleValue();
if(dMax == 0.0)
break;
if(dDollar <= dMax)
break;
}
docGroup = colGroups.getNextDocument(docGroup);
}
// Get the xml information
String sXML = docGroup.getItemValueString("AppGrpIslandData");
com.ibm.xml.parsers.DOMParser parser = new com.ibm.xml.parsers.DOMParser();
parser.parse(new InputSource(new StringReader(sXML)));
org.w3c.dom.Document xmlDoc = parser.getDocument();
Element eleRoot = xmlDoc.getDocumentElement();
// Add the information
boolean bAddFlag = false;
boolean bFirstFlag = true;
NodeList nl = eleRoot.getElementsByTagName("approver_name");
if (nl.getLength() > 0) {
out.println("<div>");
for(int x = 0; x < nl.getLength(); x++) {
Node nodeName = nl.item(x);
// Check if there is an include only code
Node nodeInc = nodeName.getNextSibling();
if(nodeInc.getFirstChild() != null) {
String sIncCode = nodeInc.getFirstChild().getNodeValue();
iPos = sIncCode.indexOf(sCreditType);
if(iPos != -1)
bAddFlag = true;
} else {
// Check if there is an exclude code
Node nodeExc = nodeInc.getNextSibling();
if(nodeExc.getFirstChild() == null) {
bAddFlag = true;
} else {
String sExcCode = nodeExc.getFirstChild().getNodeValue();
iPos = sExcCode.indexOf(sCreditType);
if(iPos == -1)
bAddFlag = true;
}
}
if(bAddFlag) {
if(bFirstFlag) {
out.println(nodeName.getFirstChild().getNodeValue());
bFirstFlag = false;
} else {
out.println("," + nodeName.getFirstChild().getNodeValue());
}
}
}
out.println("</div>");
}
} catch(Exception e) {
e.printStackTrace();
} finally { // Clean-up
try {
ssn.recycle(vAllObjects);
ssn.recycle();
System.runFinalization();
System.gc();
} catch (Exception e) {
e.printStackTrace();
} // end try
}
}
}
Any thoughts on a solution will be greatly appreciated.