|
From: <pe...@us...> - 2003-11-28 00:12:38
|
Update of /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/soap
In directory sc8-pr-cvs1:/tmp/cvs-serv18623/src/java/org/neuclear/xml/soap
Modified Files:
XMLInputStreamServlet.java
Log Message:
Getting the NeuClear web transactions working.
Index: XMLInputStreamServlet.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-xmlsig/src/java/org/neuclear/xml/soap/XMLInputStreamServlet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** XMLInputStreamServlet.java 22 Nov 2003 00:23:18 -0000 1.3
--- XMLInputStreamServlet.java 28 Nov 2003 00:12:36 -0000 1.4
***************
*** 3,8 ****
import org.neuclear.commons.Utility;
import org.neuclear.commons.crypto.Base64;
- import org.neuclear.commons.crypto.CryptoException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
--- 3,9 ----
import org.neuclear.commons.Utility;
import org.neuclear.commons.crypto.Base64;
+ import javax.servlet.ServletConfig;
+ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
***************
*** 34,37 ****
--- 35,41 ----
$Id$
$Log$
+ Revision 1.4 2003/11/28 00:12:36 pelle
+ Getting the NeuClear web transactions working.
+
Revision 1.3 2003/11/22 00:23:18 pelle
All unit tests in commons, id and xmlsec now work.
***************
*** 65,68 ****
--- 69,76 ----
*/
public abstract class XMLInputStreamServlet extends HttpServlet {
+ public void init(ServletConfig servletConfig) throws ServletException {
+ ctx = servletConfig.getServletContext();
+ }
+
protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
***************
*** 84,99 ****
if (request.getContentType().equals("text/xml")) {
is = request.getInputStream();
}
! if (!Utility.isEmpty(request.getParameter("base64xml"))) {
! is = new ByteArrayInputStream(Base64.decode(request.getParameter("base64xml")));
}
! handleInputStream(is, request, response);
! } catch (CryptoException e) {
! throw new ServletException(e);
}
}
protected abstract void handleInputStream(InputStream is, HttpServletRequest request, HttpServletResponse response) throws IOException;
}
--- 92,140 ----
if (request.getContentType().equals("text/xml")) {
+ ctx.log("XMLSIG: Got xml encoded neuclear-request");
is = request.getInputStream();
}
! if (!Utility.isEmpty(request.getParameter("neuclear-request"))) {
! ctx.log("XMLSIG: Got form encoded neuclear-request");
! is = new ByteArrayInputStream(Base64.decode(request.getParameter("neuclear-request")));
}
! if (is != null)
! handleInputStream(is, request, response);
! else {
! PrintWriter writer = response.getWriter();
! final boolean isXML = request.getContentType().equals("text/xml");
! if (isXML) {
! response.setContentType("text/xml");
! } else {
! response.setContentType("text/html");
! writer.print("<html><head><title>XMLInputStreamServlet Error</title></head><body>");
! }
! writer.println("<h1>Error: Empty Request</h1><h3>");
! writer.println("</h3><pre>");
!
!
! }
! } catch (Exception e) {
! PrintWriter writer = response.getWriter();
! final boolean isXML = request.getContentType().equals("text/xml");
! if (isXML) {
! response.setContentType("text/xml");
! } else {
! response.setContentType("text/html");
! writer.print("<html><head><title>XMLInputStreamServlet Error</title></head><body>");
! }
! writer.println("<h1>Error</h1><h3>");
! writer.println(e.getLocalizedMessage());
! writer.println("</h3><pre>");
! e.printStackTrace(writer);
! writer.println("</pre>");
}
}
+
protected abstract void handleInputStream(InputStream is, HttpServletRequest request, HttpServletResponse response) throws IOException;
+
+ protected ServletContext ctx;
+
}
|