diff options
Diffstat (limited to 'pdf-as-web-client/src')
-rw-r--r-- | pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java | 38 | ||||
-rw-r--r-- | pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest.java | 39 |
2 files changed, 77 insertions, 0 deletions
diff --git a/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java new file mode 100644 index 00000000..9e80faf5 --- /dev/null +++ b/pdf-as-web-client/src/main/java/at/gv/egiz/pdfas/web/client/RemotePDFSigner.java @@ -0,0 +1,38 @@ +package at.gv.egiz.pdfas.web.client; + +import java.net.URL; + +import javax.xml.namespace.QName; +import javax.xml.ws.BindingProvider; +import javax.xml.ws.Service; +import javax.xml.ws.soap.SOAPBinding; + +import at.gv.egiz.pdfas.api.ws.PDFASSignParameters; +import at.gv.egiz.pdfas.api.ws.PDFASSigning; + +public class RemotePDFSigner implements PDFASSigning { + + private URL urlEndpoint; + private Service service; + + private PDFASSigning proxy; + + public RemotePDFSigner(URL endpoint, boolean useMTOM) { + this.urlEndpoint = endpoint; + QName qname = new QName("http://ws.web.pdfas.egiz.gv.at/", + "PDFASSigningImplService"); + service = Service.create(endpoint, qname); + + proxy = service.getPort(PDFASSigning.class); + + BindingProvider bp = (BindingProvider) proxy; + SOAPBinding binding = (SOAPBinding) bp.getBinding(); + binding.setMTOMEnabled(useMTOM); + } + + public byte[] signPDFDokument(byte[] inputDocument, + PDFASSignParameters parameters) { + return proxy.signPDFDokument(inputDocument, parameters); + } + +} diff --git a/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest.java b/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest.java new file mode 100644 index 00000000..954d0e2e --- /dev/null +++ b/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest.java @@ -0,0 +1,39 @@ +package at.gv.egiz.pdfas.web.client.test; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.net.URL; + +import at.gv.egiz.pdfas.api.ws.PDFASSignParameters; +import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector; +import at.gv.egiz.pdfas.web.client.RemotePDFSigner; +import sun.misc.IOUtils; + +public class SimpleTest { + + public static void main(String[] args) { + try { + FileInputStream fis = new FileInputStream("/home/afitzek/simple.pdf"); + byte[] inputData = IOUtils.readFully(fis, -1, true); + + PDFASSignParameters signParameters = new PDFASSignParameters(); + signParameters.setConnector(Connector.JKS); + signParameters.setPosition(null); + signParameters.setProfile("SIGNATURBLOCK_DE"); + + URL endpoint = new URL("http://localhost:8080/pdf-as-web/wssign?wsdl"); + + RemotePDFSigner signer = new RemotePDFSigner(endpoint, false); + + byte[] outputFile = signer.signPDFDokument(inputData, signParameters); + + FileOutputStream fos = new FileOutputStream("/home/afitzek/signed.pdf"); + fos.write(outputFile); + fos.close(); + + } catch(Throwable e) { + e.printStackTrace(); + } + } + +} |