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(); +		} +	} + +} | 
