From 370af0e71a27a9e0a3970d1eabe83dabc4d1a1a9 Mon Sep 17 00:00:00 2001
From: Andreas Fitzek <andreas.fitzek@iaik.tugraz.at>
Date: Thu, 5 Jun 2014 15:02:09 +0200
Subject: fixed Position String for SOAP service

---
 .../src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java      | 6 +++---
 .../main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java  | 3 ++-
 .../java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java     | 3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)

(limited to 'pdf-as-web/src/main')

diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
index 421edff4..f64ffac0 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
@@ -139,7 +139,7 @@ public class PdfAsHelper {
 		}
 	}
 
-	private static String buildPosString(HttpServletRequest request,
+	public static String buildPosString(HttpServletRequest request,
 			HttpServletResponse response) throws PdfAsWebException {
 		String posP = PdfAsParameterExtractor.getSigPosP(request);
 		String posX = PdfAsParameterExtractor.getSigPosX(request);
@@ -388,7 +388,7 @@ public class PdfAsHelper {
 	
 	public static void startSignature(HttpServletRequest request,
 			HttpServletResponse response, ServletContext context, byte[] pdfData, 
-			String connector, String transactionId)
+			String connector, String position, String transactionId)
 			throws Exception {
 
 		// TODO: Protect session so that only one PDF can be signed during one
@@ -441,7 +441,7 @@ public class PdfAsHelper {
 		signParameter.setOutput(dataSink);
 
 		// set Signature Position
-		signParameter.setSignaturePosition(buildPosString(request, response));
+		signParameter.setSignaturePosition(position);
 
 		StatusRequest statusRequest = pdfAs.startSign(signParameter);
 		session.setAttribute(PDF_STATUS, statusRequest);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
index a7d82c3e..70535573 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
@@ -280,7 +280,8 @@ public class ExternSignServlet extends HttpServlet {
 				}
 			}
 			
-			PdfAsHelper.startSignature(request, response, getServletContext(), pdfData, connector, transactionId);
+			PdfAsHelper.startSignature(request, response, getServletContext(), pdfData, connector, 
+					PdfAsHelper.buildPosString(request, response), transactionId);
 		} else if (connector.equals("jks") || connector.equals("moa")) {
 			// start synchronous siganture creation
 			
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
index 3aad5abb..25b2b4c0 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/UIEntryPointServlet.java
@@ -103,7 +103,8 @@ public class UIEntryPointServlet extends HttpServlet {
 				}
 				
 				PdfAsHelper.startSignature(req, resp, getServletContext(), pdfAsRequest.getInputData(), 
-						connector.toString(), pdfAsRequest.getParameters().getTransactionId());
+						connector.toString(), pdfAsRequest.getParameters().getPosition(), 
+						pdfAsRequest.getParameters().getTransactionId());
 			} else {
 				throw new PdfAsWebException("Invalid connector (" + Connector.BKU + " | " + Connector.ONLINEBKU + " | " + Connector.MOBILEBKU + ")");
 			}
-- 
cgit v1.2.3