Any Domino/Java Gurus, please help!
I am experiencing an error with the Domino Servlet implementation. The error occurs in my servlet’s doPost request when it is trying to retreve a parameter from the post request. It doesn’t happen on all of similar post reqeuest but it has happening frequently.
Here is the code section
public void doPost( HttpServletRequest req, HttpServletResponse resp)throws ServletException{
// get the posted data and store it in domino
Logger logger = Logger.getLogger(DomSerializer.class.getName());
PrintWriter pw = null ;
System.out.println(" {DomSerializer} doPost type=" + qType);
System.out.println(" {DomSerializer} doPost level=" + qLevel);
System.out.println(" {DomSerializer} doPost env=" + environment);
try {
Log4jInitializer.getInstance();
pw = resp.getWriter();
System.out.println(" {DomSerializer} B4 getParameter call");
//====> code fails here!
String s = (String) req.getParameter(AMSSerializerConstants.XML_INFIELD_NAME);
System.out.println(" {DomSerializer} After getParameter call" + environment);
//*** remaining code excluded for brevity....
} catch (Exception e){
pw.println("Error Post to Domino"); // return msg from post
String emsg = new StringBuffer().append("Error: ")
.append(e.getClass())
.append(" qType=").append(qType)
.append(" qLevel=").append(qLevel)
.append("\n")
.append(" ").append(e.toString()).append("\n")
.append(" ").append(e.getMessage()).append("\n")
.append(StackTraceUtils.getStackTrace(e))
.toString();
System.out.println(emsg);
logger.error(emsg);
throw new ServletException(e.toString());
}
}
And, here is the message in the logs.
11/07/2007 03:31:50 PM HTTP JVM: {DomSerializer} doPost type=Domino
11/07/2007 03:31:50 PM HTTP JVM: {DomSerializer} doPost level=Firm
11/07/2007 03:31:50 PM HTTP JVM: {DomSerializer} doPost env=ADX
11/07/2007 03:31:50 PM HTTP JVM: {DomSerializer} B4 getParameter call
Error: class java.lang.IllegalArgumentException qType=Domino qLevel=Firm java.lang.IllegalArgumentException null java.lang.IllegalArgumentException
at javax.servlet.http.HttpUtils.parseQueryString(HttpUtils.java:82)
at javax.servlet.http.HttpUtils.parsePostData(HttpUtils.java:147)
at lotus.domino.servlet.DominoHttpServletRequest.loadParameters(DominoHttpServletRequest.java:445)
at lotus.domino.servlet.DominoHttpServletRequest.getParameter(DominoHttpServletRequest
11/07/2007 03:31:29 PM HTTP JVM: javax.servlet.ServletException: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException
At this point this appears to be a Domino Servlet Implementation problem because the only task the code is accomplishiing is the req.getParameter(),
I would love to be told differently. Please let me know if you have any ideas as to how to fix this one.
Thanks in advance for all your help!