From defceef8afef538555c13d33e344a89a828a3d97 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 20 Dec 2013 12:35:28 +0100 Subject: inital --- .../java/at/gv/util/client/omsp/OMSPClient.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/at/gv/util/client/omsp/OMSPClient.java (limited to 'src/main/java/at/gv/util/client/omsp/OMSPClient.java') diff --git a/src/main/java/at/gv/util/client/omsp/OMSPClient.java b/src/main/java/at/gv/util/client/omsp/OMSPClient.java new file mode 100644 index 0000000..42ef55a --- /dev/null +++ b/src/main/java/at/gv/util/client/omsp/OMSPClient.java @@ -0,0 +1,46 @@ +package at.gv.util.client.omsp; + +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpException; +import org.apache.commons.httpclient.methods.GetMethod; + +import at.gv.util.MiscUtil; +import at.gv.util.xsd.omsp.SignedStatusResponse; + +public class OMSPClient { + + public static SignedStatusResponse checkMandateStatus(String serviceURL, String mandateId, Date date) throws OMSPClientException { + MiscUtil.assertNotNull(serviceURL, "serviceURL"); + MiscUtil.assertNotNull(mandateId, "mandateId"); + HttpClient httpclient = new HttpClient(); + GetMethod method = new GetMethod(serviceURL); + String queryString = mandateId; + if (date != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + mandateId += "+" + sdf.format(date); + } + method.setQueryString(queryString); + try { + int code = httpclient.executeMethod(method); + if (code != 200) { + throw new OMSPClientException("Response code " + code + " returned. Must be 200."); + } + JAXBContext ctx = JAXBContext.newInstance(SignedStatusResponse.class.getPackage().getName()); + return (SignedStatusResponse) ctx.createUnmarshaller().unmarshal(method.getResponseBodyAsStream()); + } catch (HttpException e) { + throw new OMSPClientException(e); + } catch (IOException e) { + throw new OMSPClientException(e); + } catch (JAXBException e) { + throw new OMSPClientException(e); + } + } + +} -- cgit v1.2.3