diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
commit | f3476576c50efd922593c82656efda7aec5ae97f (patch) | |
tree | 66107d5c5d3a88af66bd4829d8fcecc5678b749e /pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java | |
parent | 7b2e2b640b0f392183f7927f692936950d3fabfc (diff) | |
download | pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.gz pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.bz2 pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.zip |
MOA integration sign/verification (not finished yet ...)
Lots of PDF-AS Web implementation
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java | 67 |
1 files changed, 53 insertions, 14 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java index 93586c1a..a8dfb053 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java @@ -1,37 +1,76 @@ package at.gv.egiz.pdfas.web.servlets; import java.io.IOException; + import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.xml.bind.JAXBElement; + +import at.gv.egiz.pdfas.lib.api.StatusRequest; +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; +import at.gv.egiz.sl.CreateCMSSignatureResponseType; +import at.gv.egiz.sl.ErrorResponseType; +import at.gv.egiz.sl.InfoboxReadResponseType; +import at.gv.egiz.sl.util.SLMarschaller; /** * Servlet implementation class DataURL */ public class DataURLServlet extends HttpServlet { private static final long serialVersionUID = 1L; - - /** - * @see HttpServlet#HttpServlet() - */ - public DataURLServlet() { - super(); - // TODO Auto-generated constructor stub - } /** - * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + * @see HttpServlet#HttpServlet() */ - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // TODO Auto-generated method stub + public DataURLServlet() { + super(); + // TODO Auto-generated constructor stub } /** - * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) */ - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // TODO Auto-generated method stub + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + protected void process(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + try { + + String xmlResponse = request.getParameter("XMLResponse"); + + System.out.println(xmlResponse); + + JAXBElement jaxbObject = (JAXBElement) SLMarschaller.unmarshalFromString(xmlResponse); + if(jaxbObject.getValue() instanceof InfoboxReadResponseType) { + InfoboxReadResponseType infoboxReadResponseType = (InfoboxReadResponseType)jaxbObject.getValue(); + PdfAsHelper.injectCertificate(request, response, infoboxReadResponseType); + } else if(jaxbObject.getValue() instanceof CreateCMSSignatureResponseType) { + CreateCMSSignatureResponseType createCMSSignatureResponseType = (CreateCMSSignatureResponseType)jaxbObject.getValue(); + PdfAsHelper.injectSignature(request, response, createCMSSignatureResponseType); + } else if(jaxbObject.getValue() instanceof ErrorResponseType) { + ErrorResponseType errorResponseType = (ErrorResponseType)jaxbObject.getValue(); + // TODO: store error and redirect user + System.out.println("ERROR: " + errorResponseType.getErrorCode() + " " + errorResponseType.getInfo()); + } + } catch (Exception e) { + e.printStackTrace(); + } } } |