summaryrefslogtreecommitdiff
path: root/STALService
diff options
context:
space:
mode:
authormcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-01-26 16:27:27 +0000
committermcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-01-26 16:27:27 +0000
commit84cd553cc40d9850fcd865887219d907693af0e6 (patch)
tree2d1d9054f42845ce951c9b2c2239178c803443d3 /STALService
parent667af128d0adfeee2aa4748ab58411c91bc4905f (diff)
parent7a5310b43849124095d97af3103c4fdaeeacbbbb (diff)
downloadmocca-84cd553cc40d9850fcd865887219d907693af0e6.tar.gz
mocca-84cd553cc40d9850fcd865887219d907693af0e6.tar.bz2
mocca-84cd553cc40d9850fcd865887219d907693af0e6.zip
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/branches/mocca-1.2.11-sha2@602 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'STALService')
-rw-r--r--STALService/META-INF/MANIFEST.MF3
-rw-r--r--STALService/pom.xml26
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java55
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java73
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/STALService.java72
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/translator/STALTranslator.java294
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/translator/TranslationException.java42
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java84
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java82
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java267
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java156
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java115
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java114
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java102
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java62
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java316
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java32
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java39
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java38
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java97
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java62
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/StatusRequestType.java32
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/StatusResponseType.java60
-rw-r--r--STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java2
-rw-r--r--STALService/src/test/java/at/gv/egiz/stal/service/translator/STALTranslatorTest.java146
25 files changed, 2371 insertions, 0 deletions
diff --git a/STALService/META-INF/MANIFEST.MF b/STALService/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..5e949512
--- /dev/null
+++ b/STALService/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/STALService/pom.xml b/STALService/pom.xml
new file mode 100644
index 00000000..6c25bbe2
--- /dev/null
+++ b/STALService/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>bku</artifactId>
+ <groupId>at.gv.egiz</groupId>
+ <version>1.2.11</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>at.gv.egiz</groupId>
+ <artifactId>STALService</artifactId>
+ <name>STAL Service</name>
+ <version>1.2.11</version>
+ <description />
+ <dependencies>
+ <dependency>
+ <groupId>at.gv.egiz</groupId>
+ <artifactId>STAL</artifactId>
+ <version>1.2.11</version>
+ </dependency>
+ <!--dependency>
+ <groupId>at.gv.egiz</groupId>
+ <artifactId>utils</artifactId>
+ <version>1.0.0-SNAPSHOTOT</version>
+ </dependency-->
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java b/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java
new file mode 100644
index 00000000..2f08350c
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/GetHashDataInputFault.java
@@ -0,0 +1,55 @@
+
+package at.gv.egiz.stal.service;
+
+import javax.xml.ws.WebFault;
+import at.gv.egiz.stal.service.types.GetHashDataInputFaultType;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.3-b02-
+ * Generated source version: 2.1
+ *
+ */
+@WebFault(name = "GetHashDataInputFault", targetNamespace = "http://www.egiz.gv.at/stal")
+public class GetHashDataInputFault
+ extends Exception
+{
+
+ /**
+ * Java type that goes as soapenv:Fault detail element.
+ *
+ */
+ private GetHashDataInputFaultType faultInfo;
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ */
+ public GetHashDataInputFault(String message, GetHashDataInputFaultType faultInfo) {
+ super(message);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ * @param cause
+ */
+ public GetHashDataInputFault(String message, GetHashDataInputFaultType faultInfo, Throwable cause) {
+ super(message, cause);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @return
+ * returns fault bean: at.gv.egiz.stal.service.types.GetHashDataInputFaultType
+ */
+ public GetHashDataInputFaultType getFaultInfo() {
+ return faultInfo;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java b/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java
new file mode 100644
index 00000000..d38010aa
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/STALPortType.java
@@ -0,0 +1,73 @@
+
+package at.gv.egiz.stal.service;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import at.gv.egiz.stal.service.types.GetHashDataInputResponseType;
+import at.gv.egiz.stal.service.types.GetHashDataInputType;
+import at.gv.egiz.stal.service.types.GetNextRequestResponseType;
+import at.gv.egiz.stal.service.types.GetNextRequestType;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.3-b02-
+ * Generated source version: 2.1
+ *
+ */
+@WebService(name = "STALPortType", targetNamespace = "http://www.egiz.gv.at/wsdl/stal")
+@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+@XmlSeeAlso({
+ at.gv.egiz.stal.service.types.ObjectFactory.class
+// at.buergerkarte.namespaces.cardchannel.service.ObjectFactory.class
+})
+public interface STALPortType {
+
+
+ /**
+ * Initial connection, get the first request.
+ *
+ * @param sessionId
+ * @return
+ * returns at.gv.egiz.stal.service.types.GetNextRequestResponseType
+ */
+ @WebMethod
+ @WebResult(name = "GetNextRequestResponse", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ public GetNextRequestResponseType connect(
+ @WebParam(name = "SessionId", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ String sessionId);
+
+ /**
+ * Fetch the next request.
+ *
+ * @param request
+ * @return
+ * returns at.gv.egiz.stal.service.types.GetNextRequestResponseType
+ */
+ @WebMethod(operationName = "nextRequest")
+ @WebResult(name = "GetNextRequestResponse", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ public GetNextRequestResponseType getNextRequest(
+ @WebParam(name = "GetNextRequest", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ GetNextRequestType request);
+
+ /**
+ * Fetch the signed references corresponding to the previous SignatureRequest.
+ *
+ * @param request
+ * @return
+ * returns at.gv.egiz.stal.service.types.GetHashDataInputResponseType
+ * @throws GetHashDataInputFault
+ */
+ @WebMethod
+ @WebResult(name = "GetHashDataInputResponse", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ public GetHashDataInputResponseType getHashDataInput(
+ @WebParam(name = "GetHashDataInput", targetNamespace = "http://www.egiz.gv.at/stal", partName = "part1")
+ GetHashDataInputType request)
+ throws GetHashDataInputFault
+ ;
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java b/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java
new file mode 100644
index 00000000..ba4b541e
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/STALService.java
@@ -0,0 +1,72 @@
+
+package at.gv.egiz.stal.service;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.3-b02-
+ * Generated source version: 2.1
+ *
+ */
+@WebServiceClient(name = "STALService", targetNamespace = "http://www.egiz.gv.at/wsdl/stal")
+//, wsdlLocation = "file:/home/clemens/workspace/mocca/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal-service.wsdl")
+public class STALService
+ extends Service
+{
+
+// private final static URL STALSERVICE_WSDL_LOCATION;
+ private final static Logger logger = Logger.getLogger(at.gv.egiz.stal.service.STALService.class.getName());
+
+// static {
+// URL url = null;
+// try {
+// URL baseUrl;
+// baseUrl = at.gv.egiz.stal.service.STALService.class.getResource(".");
+// url = new URL(baseUrl, "file:/home/clemens/workspace/mocca/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal-service.wsdl");
+// } catch (MalformedURLException e) {
+// logger.warning("Failed to create URL for the wsdl Location: 'file:/home/clemens/workspace/mocca/BKUOnline/src/main/webapp/WEB-INF/wsdl/stal-service.wsdl', retrying as a local file");
+// logger.warning(e.getMessage());
+// }
+// STALSERVICE_WSDL_LOCATION = url;
+// }
+
+ public STALService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+// public STALService() {
+// super(STALSERVICE_WSDL_LOCATION, new QName("http://www.egiz.gv.at/wsdl/stal", "STALService"));
+// }
+
+ /**
+ *
+ * @return
+ * returns STALPortType
+ */
+ @WebEndpoint(name = "STALPort")
+ public STALPortType getSTALPort() {
+ return super.getPort(new QName("http://www.egiz.gv.at/wsdl/stal", "STALPort"), STALPortType.class);
+ }
+
+ /**
+ *
+ * @param features
+ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
+ * @return
+ * returns STALPortType
+ */
+// @WebEndpoint(name = "STALPort")
+// public STALPortType getSTALPort(WebServiceFeature... features) {
+// return super.getPort(new QName("http://www.egiz.gv.at/wsdl/stal", "STALPort"), STALPortType.class, features);
+// }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/translator/STALTranslator.java b/STALService/src/main/java/at/gv/egiz/stal/service/translator/STALTranslator.java
new file mode 100644
index 00000000..1e6f4133
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/translator/STALTranslator.java
@@ -0,0 +1,294 @@
+/*
+ * Copyright 2008 Federal Chancellery Austria and
+ * Graz University of Technology
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package at.gv.egiz.stal.service.translator;
+
+import at.gv.egiz.stal.ErrorResponse;
+import at.gv.egiz.stal.InfoboxReadRequest;
+import at.gv.egiz.stal.InfoboxReadResponse;
+import at.gv.egiz.stal.QuitRequest;
+import at.gv.egiz.stal.STALRequest;
+import at.gv.egiz.stal.STALResponse;
+import at.gv.egiz.stal.SignRequest;
+import at.gv.egiz.stal.SignResponse;
+import at.gv.egiz.stal.StatusRequest;
+import at.gv.egiz.stal.StatusResponse;
+import at.gv.egiz.stal.service.types.ErrorResponseType;
+import at.gv.egiz.stal.service.types.InfoboxReadRequestType;
+import at.gv.egiz.stal.service.types.InfoboxReadResponseType;
+import at.gv.egiz.stal.service.types.ObjectFactory;
+import at.gv.egiz.stal.service.types.QuitRequestType;
+import at.gv.egiz.stal.service.types.RequestType;
+import at.gv.egiz.stal.service.types.ResponseType;
+import at.gv.egiz.stal.service.types.SignRequestType;
+import at.gv.egiz.stal.service.types.SignResponseType;
+import at.gv.egiz.stal.service.types.StatusRequestType;
+import at.gv.egiz.stal.service.types.StatusResponseType;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.xml.bind.JAXBElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ *
+ * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>
+ */
+public class STALTranslator {
+
+ private static final Log log = LogFactory.getLog(STALTranslator.class);
+ protected Map<Class, TranslationHandler> handlerMap = new HashMap<Class, TranslationHandler>();
+
+ public STALTranslator() {
+ registerTranslationHandler(new DefaultTranslationHandler());
+ }
+
+ /**
+ * overwrites previously registered handlers for the same type
+ * @param handler
+ */
+ public void registerTranslationHandler(TranslationHandler handler) {
+ for (Class t : handler.getSupportedTypes()) {
+ if (log.isDebugEnabled()) {
+ log.debug("register " + t + " with translation handler " + handler.getClass());
+ }
+ handlerMap.put(t, handler);
+ }
+ }
+
+ /**
+ * Translate a STAL request to a STAL Webservice request.
+ * @param request
+ * @return
+ * @throws at.gv.egiz.stal.service.translator.TranslationException
+ */
+ public JAXBElement<? extends RequestType> translate(STALRequest request) throws TranslationException {
+ if (handlerMap.containsKey(request.getClass())) {
+ TranslationHandler handler = handlerMap.get(request.getClass());
+ JAXBElement<? extends RequestType> r = handler.translate(request);
+ if (r != null) {
+ return r;
+ }
+ }
+ log.error("unknown STAL request type " + request.getClass());
+ throw new TranslationException(request.getClass());
+ }
+
+ /**
+ * Translate a STAL Webservice request to a STAL request.
+ * @param request
+ * @return
+ * @throws at.gv.egiz.stal.service.translator.TranslationException
+ */
+ public STALRequest translate(JAXBElement<? extends RequestType> request) throws TranslationException {
+ RequestType req = request.getValue();
+ if (req == null) {
+ throw new RuntimeException("RequestType must not be null");
+ }
+ if (handlerMap.containsKey(req.getClass())) {
+ TranslationHandler handler = handlerMap.get(req.getClass());
+ STALRequest stalRequest = handler.translate(req);
+ if (stalRequest != null) {
+ return stalRequest;
+ }
+ }
+ log.error("unknown request type " + req.getClass());
+ throw new TranslationException(req.getClass());
+ }
+
+ /**
+ * Translate a STAL response to a STAL Webservice response.
+ * @param request
+ * @return
+ * @throws at.gv.egiz.stal.service.translator.TranslationException
+ */
+ public JAXBElement<? extends ResponseType> translate(STALResponse response) throws TranslationException {
+ if (handlerMap.containsKey(response.getClass())) {
+ TranslationHandler handler = handlerMap.get(response.getClass());
+ JAXBElement<? extends ResponseType> r = handler.translate(response);
+ if (r != null) {
+ return r;
+ }
+ }
+ log.error("unknown STAL response type " + response.getClass());
+ throw new TranslationException(response.getClass());
+ }
+
+ /**
+ * Translate a STAL Webservice response to a STAL response.
+ * @param request
+ * @return
+ * @throws at.gv.egiz.stal.service.translator.TranslationException
+ */
+ public STALResponse translate(JAXBElement<? extends ResponseType> response) throws TranslationException {
+ ResponseType resp = response.getValue();
+ if (resp == null) {
+ throw new RuntimeException("ResponseType must not be null");
+ }
+ if (handlerMap.containsKey(resp.getClass())) {
+ TranslationHandler handler = handlerMap.get(resp.getClass());
+ STALResponse stalResponse = handler.translate(resp);
+ if (stalResponse != null) {
+ return stalResponse;
+ }
+ }
+ log.error("unknown response type " + resp.getClass());
+ throw new TranslationException(resp.getClass());
+ }
+
+ /**
+ * public (static) interface implemented by STAL extensions
+ */
+ public static interface TranslationHandler {
+
+ List<Class> getSupportedTypes();
+
+ JAXBElement<? extends RequestType> translate(STALRequest request) throws TranslationException;
+
+ JAXBElement<? extends ResponseType> translate(STALResponse response) throws TranslationException;
+
+ STALRequest translate(RequestType request) throws TranslationException;
+
+ STALResponse translate(ResponseType response) throws TranslationException;
+ }
+
+
+ /**
+ * Default Handler
+ */
+ protected static class DefaultTranslationHandler implements TranslationHandler {
+
+ private static final Log log = LogFactory.getLog(DefaultTranslationHandler.class);
+ private ObjectFactory of;
+
+ public DefaultTranslationHandler() {
+ of = new ObjectFactory();
+ }
+
+ @Override
+ public List<Class> getSupportedTypes() {
+ return Arrays.asList(new Class[]{InfoboxReadRequest.class,
+ SignRequest.class,
+ QuitRequest.class,
+ StatusRequest.class,
+ InfoboxReadRequestType.class,
+ SignRequestType.class,
+ QuitRequestType.class,
+ StatusRequestType.class,
+ InfoboxReadResponse.class,
+ SignResponse.class,
+ ErrorResponse.class,
+ StatusResponse.class,
+ InfoboxReadResponseType.class,
+ SignResponseType.class,
+ ErrorResponseType.class,
+ StatusResponseType.class
+ });
+ }
+
+ @Override
+ public JAXBElement<? extends RequestType> translate(STALRequest request) throws TranslationException {
+ log.trace("translate " + request.getClass());
+ if (request instanceof SignRequest) {
+ SignRequestType req = of.createSignRequestType();
+ req.setKeyIdentifier(((SignRequest) request).getKeyIdentifier());
+ req.setSignedInfo(((SignRequest) request).getSignedInfo());
+ //TODO add hashdatainput (refactor signRequestType)
+ return of.createGetNextRequestResponseTypeSignRequest(req);
+ } else if (request instanceof InfoboxReadRequest) {
+ InfoboxReadRequestType req = of.createInfoboxReadRequestType();
+ req.setInfoboxIdentifier(((InfoboxReadRequest) request).getInfoboxIdentifier());
+ req.setDomainIdentifier(((InfoboxReadRequest) request).getDomainIdentifier());
+ return of.createGetNextRequestResponseTypeInfoboxReadRequest(req);
+ } else if (request instanceof QuitRequest) {
+ return of.createGetNextRequestResponseTypeQuitRequest(of.createQuitRequestType());
+ } else if (request instanceof StatusRequest) {
+ StatusRequestType req = of.createStatusRequestType();
+ return of.createGetNextRequestResponseTypeStatusRequest(req);
+ }
+ throw new TranslationException(request.getClass());
+ }
+
+ @Override
+ public STALRequest translate(RequestType request) throws TranslationException {
+ if (request instanceof InfoboxReadRequestType) {
+ InfoboxReadRequest stalReq = new InfoboxReadRequest();
+ stalReq.setDomainIdentifier(((InfoboxReadRequestType) request).getDomainIdentifier());
+ stalReq.setInfoboxIdentifier(((InfoboxReadRequestType) request).getInfoboxIdentifier());
+ return stalReq;
+ } else if (request instanceof SignRequestType) {
+ SignRequest stalReq = new SignRequest();
+ stalReq.setKeyIdentifier(((SignRequestType) request).getKeyIdentifier());
+ stalReq.setSignedInfo(((SignRequestType) request).getSignedInfo());
+ return stalReq;
+ } else if (request instanceof QuitRequestType) {
+ return new QuitRequest();
+ } else if (request instanceof StatusRequestType) {
+ return new StatusRequest();
+ }
+ throw new TranslationException(request.getClass());
+ }
+
+ @Override
+ public JAXBElement<? extends ResponseType> translate(STALResponse response) throws TranslationException {
+ if (response instanceof InfoboxReadResponse) {
+ InfoboxReadResponseType resp = of.createInfoboxReadResponseType();
+ resp.setInfoboxValue(((InfoboxReadResponse) response).getInfoboxValue());
+ return of.createGetNextRequestTypeInfoboxReadResponse(resp);
+ } else if (response instanceof SignResponse) {
+ SignResponseType resp = of.createSignResponseType();
+ resp.setSignatureValue(((SignResponse) response).getSignatureValue());
+ return of.createGetNextRequestTypeSignResponse(resp);
+ } else if (response instanceof ErrorResponse) {
+ ErrorResponseType resp = of.createErrorResponseType();
+ resp.setErrorCode(((ErrorResponse) response).getErrorCode());
+ resp.setErrorMessage(((ErrorResponse) response).getErrorMessage());
+ return of.createGetNextRequestTypeErrorResponse(resp);
+ } else if (response instanceof StatusResponse) {
+ StatusResponseType resp = of.createStatusResponseType();
+ resp.setCardReady(((StatusResponse) response).isCardReady());
+ return of.createGetNextRequestTypeStatusResponse(resp);
+ }
+ throw new TranslationException(response.getClass());
+ }
+
+ @Override
+ public STALResponse translate(ResponseType response) throws TranslationException {
+ if (response instanceof InfoboxReadResponseType) {
+ InfoboxReadResponse stalResp = new InfoboxReadResponse();
+ stalResp.setInfoboxValue(((InfoboxReadResponseType) response).getInfoboxValue());
+ return stalResp;
+ } else if (response instanceof SignResponseType) {
+ SignResponse stalResp = new SignResponse();
+ stalResp.setSignatureValue(((SignResponseType) response).getSignatureValue());
+ return stalResp;
+ } else if (response instanceof ErrorResponseType) {
+ ErrorResponse stalResp = new ErrorResponse();
+ stalResp.setErrorCode(((ErrorResponseType) response).getErrorCode());
+ stalResp.setErrorMessage(((ErrorResponseType) response).getErrorMessage());
+ return stalResp;
+ } else if (response instanceof StatusResponseType) {
+ StatusResponse stalResp = new StatusResponse();
+ stalResp.setCardReady(((StatusResponseType) response).isCardReady());
+ return stalResp;
+ }
+ throw new TranslationException(response.getClass());
+ }
+ }
+}
+
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/translator/TranslationException.java b/STALService/src/main/java/at/gv/egiz/stal/service/translator/TranslationException.java
new file mode 100644
index 00000000..fd9da988
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/translator/TranslationException.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2008 Federal Chancellery Austria and
+ * Graz University of Technology
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package at.gv.egiz.stal.service.translator;
+
+/**
+ *
+ * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>
+ */
+public class TranslationException extends Exception {
+
+ private Class unknownClass;
+
+ /**
+ * Creates a new instance of <code>TranslationException</code> without detail message.
+ * @param unknownClass the class that could not be translated
+ */
+ public TranslationException(Class unkownClass) {
+ this.unknownClass = unkownClass;
+ }
+
+ @Override
+ public String getMessage() {
+ return "Failed to translate type " + unknownClass;
+ }
+
+
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java
new file mode 100644
index 00000000..14ae0d39
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ErrorResponseType.java
@@ -0,0 +1,84 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ErrorResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ErrorResponseType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}ResponseType">
+ * &lt;sequence>
+ * &lt;element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * &lt;element name="ErrorMessage" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ErrorResponseType", propOrder = {
+ "errorCode",
+ "errorMessage"
+})
+public class ErrorResponseType
+ extends ResponseType
+{
+
+ @XmlElement(name = "ErrorCode")
+ protected int errorCode;
+ @XmlElement(name = "ErrorMessage", required = true)
+ protected String errorMessage;
+
+ /**
+ * Gets the value of the errorCode property.
+ *
+ */
+ public int getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Sets the value of the errorCode property.
+ *
+ */
+ public void setErrorCode(int value) {
+ this.errorCode = value;
+ }
+
+ /**
+ * Gets the value of the errorMessage property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Sets the value of the errorMessage property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setErrorMessage(String value) {
+ this.errorMessage = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java
new file mode 100644
index 00000000..bf9f96ab
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputFaultType.java
@@ -0,0 +1,82 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetHashDataInputFaultType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetHashDataInputFaultType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ * &lt;element name="ErrorMessage" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetHashDataInputFaultType", propOrder = {
+ "errorCode",
+ "errorMessage"
+})
+public class GetHashDataInputFaultType {
+
+ @XmlElement(name = "ErrorCode")
+ protected int errorCode;
+ @XmlElement(name = "ErrorMessage", required = true)
+ protected String errorMessage;
+
+ /**
+ * Gets the value of the errorCode property.
+ *
+ */
+ public int getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Sets the value of the errorCode property.
+ *
+ */
+ public void setErrorCode(int value) {
+ this.errorCode = value;
+ }
+
+ /**
+ * Gets the value of the errorMessage property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Sets the value of the errorMessage property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setErrorMessage(String value) {
+ this.errorMessage = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java
new file mode 100644
index 00000000..ad029757
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputResponseType.java
@@ -0,0 +1,267 @@
+
+package at.gv.egiz.stal.service.types;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+
+/**
+ * <p>Java class for GetHashDataInputResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetHashDataInputResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Reference" maxOccurs="unbounded">
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>base64Binary">
+ * &lt;attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="Filename" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * &lt;/element>
+ * &lt;/sequence>
+ * &lt;attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetHashDataInputResponseType", propOrder = {
+ "reference"
+})
+public class GetHashDataInputResponseType {
+
+ @XmlElement(name = "Reference", required = true)
+ protected List<GetHashDataInputResponseType.Reference> reference;
+ @XmlAttribute(name = "SessionId")
+ protected String sessionId;
+
+ /**
+ * Gets the value of the reference property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the reference property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getReference().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link GetHashDataInputResponseType.Reference }
+ *
+ *
+ */
+ public List<GetHashDataInputResponseType.Reference> getReference() {
+ if (reference == null) {
+ reference = new ArrayList<GetHashDataInputResponseType.Reference>();
+ }
+ return this.reference;
+ }
+
+ /**
+ * Gets the value of the sessionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ /**
+ * Sets the value of the sessionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSessionId(String value) {
+ this.sessionId = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>base64Binary">
+ * &lt;attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;attribute name="Filename" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "value"
+ })
+ public static class Reference {
+
+ @XmlValue
+ protected byte[] value;
+ @XmlAttribute(name = "ID")
+ protected String id;
+ @XmlAttribute(name = "MimeType")
+ protected String mimeType;
+ @XmlAttribute(name = "Encoding")
+ protected String encoding;
+ @XmlAttribute(name = "Filename")
+ protected String filename;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setValue(byte[] value) {
+ this.value = ((byte[]) value);
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getID() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setID(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the mimeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ /**
+ * Sets the value of the mimeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMimeType(String value) {
+ this.mimeType = value;
+ }
+
+ /**
+ * Gets the value of the encoding property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEncoding() {
+ return encoding;
+ }
+
+ /**
+ * Sets the value of the encoding property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEncoding(String value) {
+ this.encoding = value;
+ }
+
+ /**
+ * Gets the value of the filename property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFilename() {
+ return filename;
+ }
+
+ /**
+ * Sets the value of the filename property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFilename(String value) {
+ this.filename = value;
+ }
+
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java
new file mode 100644
index 00000000..5309482a
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetHashDataInputType.java
@@ -0,0 +1,156 @@
+
+package at.gv.egiz.stal.service.types;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetHashDataInputType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetHashDataInputType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="Reference" maxOccurs="unbounded">
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * &lt;/element>
+ * &lt;/sequence>
+ * &lt;attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetHashDataInputType", propOrder = {
+ "reference"
+})
+public class GetHashDataInputType {
+
+ @XmlElement(name = "Reference", required = true)
+ protected List<GetHashDataInputType.Reference> reference;
+ @XmlAttribute(name = "SessionId")
+ protected String sessionId;
+
+ /**
+ * Gets the value of the reference property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the reference property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getReference().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link GetHashDataInputType.Reference }
+ *
+ *
+ */
+ public List<GetHashDataInputType.Reference> getReference() {
+ if (reference == null) {
+ reference = new ArrayList<GetHashDataInputType.Reference>();
+ }
+ return this.reference;
+ }
+
+ /**
+ * Gets the value of the sessionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ /**
+ * Sets the value of the sessionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSessionId(String value) {
+ this.sessionId = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="ID" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Reference {
+
+ @XmlAttribute(name = "ID")
+ protected String id;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getID() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setID(String value) {
+ this.id = value;
+ }
+
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java
new file mode 100644
index 00000000..7c1f881e
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestResponseType.java
@@ -0,0 +1,115 @@
+
+package at.gv.egiz.stal.service.types;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlType;
+//import at.buergerkarte.namespaces.cardchannel.service.ScriptType;
+
+
+/**
+ * <p>Java class for GetNextRequestResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetNextRequestResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice maxOccurs="unbounded">
+ * &lt;element name="InfoboxReadRequest" type="{http://www.egiz.gv.at/stal}InfoboxReadRequestType"/>
+ * &lt;element name="SignRequest" type="{http://www.egiz.gv.at/stal}SignRequestType"/>
+ * &lt;element name="QuitRequest" type="{http://www.egiz.gv.at/stal}QuitRequestType"/>
+ * &lt;element name="StatusRequest" type="{http://www.egiz.gv.at/stal}StatusRequestType"/>
+ * &lt;element ref="{http://www.egiz.gv.at/stal}OtherRequest"/>
+ * &lt;/choice>
+ * &lt;attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetNextRequestResponseType", propOrder = {
+ "infoboxReadRequestOrSignRequestOrQuitRequest"
+})
+public class GetNextRequestResponseType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "OtherRequest", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "QuitRequest", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "InfoboxReadRequest", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "SignRequest", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "StatusRequest", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class)
+ })
+ protected List<JAXBElement<? extends RequestType>> infoboxReadRequestOrSignRequestOrQuitRequest;
+ @XmlAttribute(name = "SessionId")
+ protected String sessionId;
+
+ /**
+ * Gets the value of the infoboxReadRequestOrSignRequestOrQuitRequest property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the infoboxReadRequestOrSignRequestOrQuitRequest property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInfoboxReadRequestOrSignRequestOrQuitRequest().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link RequestType }{@code >}
+ * {@link JAXBElement }{@code <}{@link QuitRequestType }{@code >}
+ * {@link JAXBElement }{@code <}{@link InfoboxReadRequestType }{@code >}
+ * {@link JAXBElement }{@code <}{@link ScriptType }{@code >}
+ * {@link JAXBElement }{@code <}{@link StatusRequestType }{@code >}
+ * {@link JAXBElement }{@code <}{@link SignRequestType }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<? extends RequestType>> getInfoboxReadRequestOrSignRequestOrQuitRequest() {
+ if (infoboxReadRequestOrSignRequestOrQuitRequest == null) {
+ infoboxReadRequestOrSignRequestOrQuitRequest = new ArrayList<JAXBElement<? extends RequestType>>();
+ }
+ return this.infoboxReadRequestOrSignRequestOrQuitRequest;
+ }
+
+ /**
+ * Gets the value of the sessionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ /**
+ * Sets the value of the sessionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSessionId(String value) {
+ this.sessionId = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java
new file mode 100644
index 00000000..691ecd9b
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/GetNextRequestType.java
@@ -0,0 +1,114 @@
+
+package at.gv.egiz.stal.service.types;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetNextRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetNextRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice maxOccurs="unbounded">
+ * &lt;element name="InfoboxReadResponse" type="{http://www.egiz.gv.at/stal}InfoboxReadResponseType"/>
+ * &lt;element name="SignResponse" type="{http://www.egiz.gv.at/stal}SignResponseType"/>
+ * &lt;element name="ErrorResponse" type="{http://www.egiz.gv.at/stal}ErrorResponseType"/>
+ * &lt;element name="StatusResponse" type="{http://www.egiz.gv.at/stal}StatusResponseType"/>
+ * &lt;element ref="{http://www.egiz.gv.at/stal}OtherResponse"/>
+ * &lt;/choice>
+ * &lt;attribute name="SessionId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetNextRequestType", propOrder = {
+ "infoboxReadResponseOrSignResponseOrErrorResponse"
+})
+public class GetNextRequestType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "StatusResponse", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "InfoboxReadResponse", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "OtherResponse", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "ErrorResponse", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class),
+ @XmlElementRef(name = "SignResponse", namespace = "http://www.egiz.gv.at/stal", type = JAXBElement.class)
+ })
+ protected List<JAXBElement<? extends at.gv.egiz.stal.service.types.ResponseType>> infoboxReadResponseOrSignResponseOrErrorResponse;
+ @XmlAttribute(name = "SessionId")
+ protected String sessionId;
+
+ /**
+ * Gets the value of the infoboxReadResponseOrSignResponseOrErrorResponse property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the infoboxReadResponseOrSignResponseOrErrorResponse property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInfoboxReadResponseOrSignResponseOrErrorResponse().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link at.buergerkarte.namespaces.cardchannel.service.ResponseType }{@code >}
+ * {@link JAXBElement }{@code <}{@link StatusResponseType }{@code >}
+ * {@link JAXBElement }{@code <}{@link at.gv.egiz.stal.service.types.ResponseType }{@code >}
+ * {@link JAXBElement }{@code <}{@link ErrorResponseType }{@code >}
+ * {@link JAXBElement }{@code <}{@link SignResponseType }{@code >}
+ * {@link JAXBElement }{@code <}{@link InfoboxReadResponseType }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<? extends at.gv.egiz.stal.service.types.ResponseType>> getInfoboxReadResponseOrSignResponseOrErrorResponse() {
+ if (infoboxReadResponseOrSignResponseOrErrorResponse == null) {
+ infoboxReadResponseOrSignResponseOrErrorResponse = new ArrayList<JAXBElement<? extends at.gv.egiz.stal.service.types.ResponseType>>();
+ }
+ return this.infoboxReadResponseOrSignResponseOrErrorResponse;
+ }
+
+ /**
+ * Gets the value of the sessionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ /**
+ * Sets the value of the sessionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSessionId(String value) {
+ this.sessionId = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java
new file mode 100644
index 00000000..0ab6f5f3
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadRequestType.java
@@ -0,0 +1,102 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InfoboxReadRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadRequestType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}RequestType">
+ * &lt;sequence>
+ * &lt;element name="InfoboxIdentifier">
+ * &lt;simpleType>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * &lt;enumeration value="Certificates"/>
+ * &lt;enumeration value="IdentityLink"/>
+ * &lt;enumeration value="Mandates"/>
+ * &lt;/restriction>
+ * &lt;/simpleType>
+ * &lt;/element>
+ * &lt;element name="DomainIdentifier" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadRequestType", propOrder = {
+ "infoboxIdentifier",
+ "domainIdentifier"
+})
+public class InfoboxReadRequestType
+ extends RequestType
+{
+
+ @XmlElement(name = "InfoboxIdentifier", required = true)
+ protected String infoboxIdentifier;
+ @XmlElement(name = "DomainIdentifier")
+ @XmlSchemaType(name = "anyURI")
+ protected String domainIdentifier;
+
+ /**
+ * Gets the value of the infoboxIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInfoboxIdentifier() {
+ return infoboxIdentifier;
+ }
+
+ /**
+ * Sets the value of the infoboxIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInfoboxIdentifier(String value) {
+ this.infoboxIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the domainIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDomainIdentifier() {
+ return domainIdentifier;
+ }
+
+ /**
+ * Sets the value of the domainIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDomainIdentifier(String value) {
+ this.domainIdentifier = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java
new file mode 100644
index 00000000..1d88737d
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/InfoboxReadResponseType.java
@@ -0,0 +1,62 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InfoboxReadResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadResponseType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}ResponseType">
+ * &lt;sequence>
+ * &lt;element name="InfoboxValue" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadResponseType", propOrder = {
+ "infoboxValue"
+})
+public class InfoboxReadResponseType
+ extends ResponseType
+{
+
+ @XmlElement(name = "InfoboxValue", required = true)
+ protected byte[] infoboxValue;
+
+ /**
+ * Gets the value of the infoboxValue property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getInfoboxValue() {
+ return infoboxValue;
+ }
+
+ /**
+ * Sets the value of the infoboxValue property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setInfoboxValue(byte[] value) {
+ this.infoboxValue = ((byte[]) value);
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java
new file mode 100644
index 00000000..297fc924
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ObjectFactory.java
@@ -0,0 +1,316 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the at.gv.egiz.stal.service.types package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _GetHashDataInput_QNAME = new QName("http://www.egiz.gv.at/stal", "GetHashDataInput");
+ private final static QName _GetHashDataInputResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "GetHashDataInputResponse");
+ private final static QName _OtherRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "OtherRequest");
+ private final static QName _GetNextRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "GetNextRequest");
+ private final static QName _OtherResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "OtherResponse");
+ private final static QName _SessionId_QNAME = new QName("http://www.egiz.gv.at/stal", "SessionId");
+ private final static QName _GetHashDataInputFault_QNAME = new QName("http://www.egiz.gv.at/stal", "GetHashDataInputFault");
+ private final static QName _GetNextRequestResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "GetNextRequestResponse");
+ private final static QName _GetNextRequestResponseTypeQuitRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "QuitRequest");
+ private final static QName _GetNextRequestResponseTypeInfoboxReadRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "InfoboxReadRequest");
+ private final static QName _GetNextRequestResponseTypeSignRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "SignRequest");
+ private final static QName _GetNextRequestTypeErrorResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "ErrorResponse");
+ private final static QName _GetNextRequestTypeSignResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "SignResponse");
+ private final static QName _GetNextRequestTypeInfoboxReadResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "InfoboxReadResponse");
+ private final static QName _GetNextRequestResponseTypeStatusRequest_QNAME = new QName("http://www.egiz.gv.at/stal", "StatusRequest");
+ private final static QName _GetNextRequestTypeStatusResponse_QNAME = new QName("http://www.egiz.gv.at/stal", "StatusResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.stal.service.types
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link StatusResponseType }
+ *
+ */
+ public StatusResponseType createStatusResponseType() {
+ return new StatusResponseType();
+ }
+
+ /**
+ * Create an instance of {@link StatusRequestType }
+ *
+ */
+ public StatusRequestType createStatusRequestType() {
+ return new StatusRequestType();
+ }
+
+ /**
+ * Create an instance of {@link GetHashDataInputType }
+ *
+ */
+ public GetHashDataInputType createGetHashDataInputType() {
+ return new GetHashDataInputType();
+ }
+
+ /**
+ * Create an instance of {@link GetHashDataInputResponseType.Reference }
+ *
+ */
+ public GetHashDataInputResponseType.Reference createGetHashDataInputResponseTypeReference() {
+ return new GetHashDataInputResponseType.Reference();
+ }
+
+ /**
+ * Create an instance of {@link GetNextRequestType }
+ *
+ */
+ public GetNextRequestType createGetNextRequestType() {
+ return new GetNextRequestType();
+ }
+
+ /**
+ * Create an instance of {@link SignRequestType }
+ *
+ */
+ public SignRequestType createSignRequestType() {
+ return new SignRequestType();
+ }
+
+ /**
+ * Create an instance of {@link GetHashDataInputType.Reference }
+ *
+ */
+ public GetHashDataInputType.Reference createGetHashDataInputTypeReference() {
+ return new GetHashDataInputType.Reference();
+ }
+
+ /**
+ * Create an instance of {@link ErrorResponseType }
+ *
+ */
+ public ErrorResponseType createErrorResponseType() {
+ return new ErrorResponseType();
+ }
+
+ /**
+ * Create an instance of {@link QuitRequestType }
+ *
+ */
+ public QuitRequestType createQuitRequestType() {
+ return new QuitRequestType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadResponseType }
+ *
+ */
+ public InfoboxReadResponseType createInfoboxReadResponseType() {
+ return new InfoboxReadResponseType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadRequestType }
+ *
+ */
+ public InfoboxReadRequestType createInfoboxReadRequestType() {
+ return new InfoboxReadRequestType();
+ }
+
+ /**
+ * Create an instance of {@link GetNextRequestResponseType }
+ *
+ */
+ public GetNextRequestResponseType createGetNextRequestResponseType() {
+ return new GetNextRequestResponseType();
+ }
+
+ /**
+ * Create an instance of {@link GetHashDataInputResponseType }
+ *
+ */
+ public GetHashDataInputResponseType createGetHashDataInputResponseType() {
+ return new GetHashDataInputResponseType();
+ }
+
+ /**
+ * Create an instance of {@link SignResponseType }
+ *
+ */
+ public SignResponseType createSignResponseType() {
+ return new SignResponseType();
+ }
+
+ /**
+ * Create an instance of {@link GetHashDataInputFaultType }
+ *
+ */
+ public GetHashDataInputFaultType createGetHashDataInputFaultType() {
+ return new GetHashDataInputFaultType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "StatusRequest", scope = GetNextRequestResponseType.class)
+ public JAXBElement<StatusRequestType> createGetNextRequestResponseTypeStatusRequest(StatusRequestType value) {
+ return new JAXBElement<StatusRequestType>(_GetNextRequestResponseTypeStatusRequest_QNAME, StatusRequestType.class, GetNextRequestResponseType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "StatusResponse", scope = GetNextRequestType.class)
+ public JAXBElement<StatusResponseType> createGetNextRequestTypeStatusResponse(StatusResponseType value) {
+ return new JAXBElement<StatusResponseType>(_GetNextRequestTypeStatusResponse_QNAME, StatusResponseType.class, GetNextRequestType.class, value);
+ }
+
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetHashDataInputType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "GetHashDataInput")
+ public JAXBElement<GetHashDataInputType> createGetHashDataInput(GetHashDataInputType value) {
+ return new JAXBElement<GetHashDataInputType>(_GetHashDataInput_QNAME, GetHashDataInputType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetHashDataInputResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "GetHashDataInputResponse")
+ public JAXBElement<GetHashDataInputResponseType> createGetHashDataInputResponse(GetHashDataInputResponseType value) {
+ return new JAXBElement<GetHashDataInputResponseType>(_GetHashDataInputResponse_QNAME, GetHashDataInputResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "OtherRequest")
+ public JAXBElement<RequestType> createOtherRequest(RequestType value) {
+ return new JAXBElement<RequestType>(_OtherRequest_QNAME, RequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetNextRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "GetNextRequest")
+ public JAXBElement<GetNextRequestType> createGetNextRequest(GetNextRequestType value) {
+ return new JAXBElement<GetNextRequestType>(_GetNextRequest_QNAME, GetNextRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "OtherResponse")
+ public JAXBElement<ResponseType> createOtherResponse(ResponseType value) {
+ return new JAXBElement<ResponseType>(_OtherResponse_QNAME, ResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "SessionId")
+ public JAXBElement<String> createSessionId(String value) {
+ return new JAXBElement<String>(_SessionId_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetHashDataInputFaultType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "GetHashDataInputFault")
+ public JAXBElement<GetHashDataInputFaultType> createGetHashDataInputFault(GetHashDataInputFaultType value) {
+ return new JAXBElement<GetHashDataInputFaultType>(_GetHashDataInputFault_QNAME, GetHashDataInputFaultType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetNextRequestResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "GetNextRequestResponse")
+ public JAXBElement<GetNextRequestResponseType> createGetNextRequestResponse(GetNextRequestResponseType value) {
+ return new JAXBElement<GetNextRequestResponseType>(_GetNextRequestResponse_QNAME, GetNextRequestResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link QuitRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "QuitRequest", scope = GetNextRequestResponseType.class)
+ public JAXBElement<QuitRequestType> createGetNextRequestResponseTypeQuitRequest(QuitRequestType value) {
+ return new JAXBElement<QuitRequestType>(_GetNextRequestResponseTypeQuitRequest_QNAME, QuitRequestType.class, GetNextRequestResponseType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link InfoboxReadRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "InfoboxReadRequest", scope = GetNextRequestResponseType.class)
+ public JAXBElement<InfoboxReadRequestType> createGetNextRequestResponseTypeInfoboxReadRequest(InfoboxReadRequestType value) {
+ return new JAXBElement<InfoboxReadRequestType>(_GetNextRequestResponseTypeInfoboxReadRequest_QNAME, InfoboxReadRequestType.class, GetNextRequestResponseType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "SignRequest", scope = GetNextRequestResponseType.class)
+ public JAXBElement<SignRequestType> createGetNextRequestResponseTypeSignRequest(SignRequestType value) {
+ return new JAXBElement<SignRequestType>(_GetNextRequestResponseTypeSignRequest_QNAME, SignRequestType.class, GetNextRequestResponseType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ErrorResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "ErrorResponse", scope = GetNextRequestType.class)
+ public JAXBElement<ErrorResponseType> createGetNextRequestTypeErrorResponse(ErrorResponseType value) {
+ return new JAXBElement<ErrorResponseType>(_GetNextRequestTypeErrorResponse_QNAME, ErrorResponseType.class, GetNextRequestType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SignResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "SignResponse", scope = GetNextRequestType.class)
+ public JAXBElement<SignResponseType> createGetNextRequestTypeSignResponse(SignResponseType value) {
+ return new JAXBElement<SignResponseType>(_GetNextRequestTypeSignResponse_QNAME, SignResponseType.class, GetNextRequestType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link InfoboxReadResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.egiz.gv.at/stal", name = "InfoboxReadResponse", scope = GetNextRequestType.class)
+ public JAXBElement<InfoboxReadResponseType> createGetNextRequestTypeInfoboxReadResponse(InfoboxReadResponseType value) {
+ return new JAXBElement<InfoboxReadResponseType>(_GetNextRequestTypeInfoboxReadResponse_QNAME, InfoboxReadResponseType.class, GetNextRequestType.class, value);
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java
new file mode 100644
index 00000000..7dc4197f
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/QuitRequestType.java
@@ -0,0 +1,32 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for QuitRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="QuitRequestType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}RequestType">
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QuitRequestType")
+public class QuitRequestType
+ extends RequestType
+{
+
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java
new file mode 100644
index 00000000..407fc8a4
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/RequestType.java
@@ -0,0 +1,39 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+//import at.buergerkarte.namespaces.cardchannel.service.ScriptType;
+
+
+/**
+ * <p>Java class for RequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="RequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RequestType")
+@XmlSeeAlso({
+// ScriptType.class,
+ SignRequestType.class,
+ InfoboxReadRequestType.class,
+ QuitRequestType.class,
+ StatusRequestType.class
+})
+public abstract class RequestType {
+
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java
new file mode 100644
index 00000000..8d5e1e77
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/ResponseType.java
@@ -0,0 +1,38 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ResponseType")
+@XmlSeeAlso({
+// at.buergerkarte.namespaces.cardchannel.service.ResponseType.class,
+ ErrorResponseType.class,
+ InfoboxReadResponseType.class,
+ SignResponseType.class,
+ StatusResponseType.class
+})
+public abstract class ResponseType {
+
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java
new file mode 100644
index 00000000..09e30967
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignRequestType.java
@@ -0,0 +1,97 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SignRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="SignRequestType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}RequestType">
+ * &lt;sequence>
+ * &lt;element name="KeyIdentifier">
+ * &lt;simpleType>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * &lt;enumeration value="SecureSignatureKeypair"/>
+ * &lt;enumeration value="CertifiedKeypair"/>
+ * &lt;/restriction>
+ * &lt;/simpleType>
+ * &lt;/element>
+ * &lt;element name="SignedInfo" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SignRequestType", propOrder = {
+ "keyIdentifier",
+ "signedInfo"
+})
+public class SignRequestType
+ extends RequestType
+{
+
+ @XmlElement(name = "KeyIdentifier", required = true)
+ protected String keyIdentifier;
+ @XmlElement(name = "SignedInfo", required = true)
+ protected byte[] signedInfo;
+
+ /**
+ * Gets the value of the keyIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyIdentifier() {
+ return keyIdentifier;
+ }
+
+ /**
+ * Sets the value of the keyIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyIdentifier(String value) {
+ this.keyIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the signedInfo property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getSignedInfo() {
+ return signedInfo;
+ }
+
+ /**
+ * Sets the value of the signedInfo property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setSignedInfo(byte[] value) {
+ this.signedInfo = ((byte[]) value);
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java
new file mode 100644
index 00000000..a33fb34c
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/SignResponseType.java
@@ -0,0 +1,62 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for SignResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="SignResponseType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}ResponseType">
+ * &lt;sequence>
+ * &lt;element name="SignatureValue" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SignResponseType", propOrder = {
+ "signatureValue"
+})
+public class SignResponseType
+ extends ResponseType
+{
+
+ @XmlElement(name = "SignatureValue", required = true)
+ protected byte[] signatureValue;
+
+ /**
+ * Gets the value of the signatureValue property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getSignatureValue() {
+ return signatureValue;
+ }
+
+ /**
+ * Sets the value of the signatureValue property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setSignatureValue(byte[] value) {
+ this.signatureValue = ((byte[]) value);
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusRequestType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusRequestType.java
new file mode 100644
index 00000000..44269a0c
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusRequestType.java
@@ -0,0 +1,32 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="StatusRequestType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}RequestType">
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatusRequestType")
+public class StatusRequestType
+ extends RequestType
+{
+
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusResponseType.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusResponseType.java
new file mode 100644
index 00000000..581fdc0e
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/StatusResponseType.java
@@ -0,0 +1,60 @@
+
+package at.gv.egiz.stal.service.types;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="StatusResponseType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.egiz.gv.at/stal}ResponseType">
+ * &lt;attribute name="cardReady" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatusResponseType")
+public class StatusResponseType
+ extends ResponseType
+{
+
+ @XmlAttribute
+ protected Boolean cardReady;
+
+ /**
+ * Gets the value of the cardReady property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isCardReady() {
+ return cardReady;
+ }
+
+ /**
+ * Sets the value of the cardReady property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setCardReady(Boolean value) {
+ this.cardReady = value;
+ }
+
+}
diff --git a/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java b/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java
new file mode 100644
index 00000000..3328fdc0
--- /dev/null
+++ b/STALService/src/main/java/at/gv/egiz/stal/service/types/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.egiz.gv.at/stal", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package at.gv.egiz.stal.service.types;
diff --git a/STALService/src/test/java/at/gv/egiz/stal/service/translator/STALTranslatorTest.java b/STALService/src/test/java/at/gv/egiz/stal/service/translator/STALTranslatorTest.java
new file mode 100644
index 00000000..1dad7973
--- /dev/null
+++ b/STALService/src/test/java/at/gv/egiz/stal/service/translator/STALTranslatorTest.java
@@ -0,0 +1,146 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package at.gv.egiz.stal.service.translator;
+
+import at.gv.egiz.stal.STALRequest;
+import at.gv.egiz.stal.STALResponse;
+import at.gv.egiz.stal.SignRequest;
+import at.gv.egiz.stal.service.translator.STALTranslator.TranslationHandler;
+import at.gv.egiz.stal.service.types.ObjectFactory;
+import at.gv.egiz.stal.service.types.RequestType;
+import at.gv.egiz.stal.service.types.ResponseType;
+import at.gv.egiz.stal.service.types.SignRequestType;
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author clemens
+ */
+public class STALTranslatorTest {
+
+ static ObjectFactory of;
+
+ public STALTranslatorTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ of = new ObjectFactory();
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of registerTranslationHandler method, of class STALTranslator.
+ */
+ @Test
+ @Ignore
+ public void testRegisterTranslationHandler() {
+ System.out.println("registerTranslationHandler");
+ TranslationHandler handler = null;
+ STALTranslator instance = new STALTranslator();
+ instance.registerTranslationHandler(handler);
+
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+ /**
+ * Test of translate method, of class STALTranslator.
+ */
+ @Test
+ public void testTranslate_STALRequest() throws Exception {
+ System.out.println("translate");
+ SignRequest request = new SignRequest();
+ request.setKeyIdentifier("kid");
+ request.setSignedInfo("signedinfo".getBytes());
+ STALTranslator instance = new STALTranslator();
+ JAXBElement<? extends RequestType> result = instance.translate(request);
+ assertEquals(SignRequestType.class, result.getValue().getClass());
+ SignRequestType resultT = (SignRequestType) result.getValue();
+ assertEquals(request.getKeyIdentifier(), resultT.getKeyIdentifier());
+ assertEquals(request.getSignedInfo(), resultT.getSignedInfo());
+ }
+
+ /**
+ * Test of translate method, of class STALTranslator.
+ */
+ @Test
+ public void testTranslate_1args_1() throws Exception {
+ System.out.println("translate");
+ SignRequestType req = of.createSignRequestType();
+ req.setKeyIdentifier("kid");
+ req.setSignedInfo("signedinfo".getBytes());
+ JAXBElement<? extends RequestType> request = of.createGetNextRequestResponseTypeSignRequest(req);
+ STALTranslator instance = new STALTranslator();
+ STALRequest result = instance.translate(request);
+ assertEquals(SignRequest.class, result.getClass());
+ assertEquals(req.getKeyIdentifier(), ((SignRequest) result).getKeyIdentifier());
+ assertEquals(req.getSignedInfo(), ((SignRequest) result).getSignedInfo());
+ }
+
+ @Test(expected=RuntimeException.class)
+ public void testTranslate_invalidInput() throws Exception {
+ System.out.println("translate");
+ QName n = new QName("http://www.egiz.gv.at/stal", "SignRequest");
+ JAXBElement<? extends RequestType> request = new JAXBElement<SignRequestType>(n, SignRequestType.class, null);
+ STALTranslator instance = new STALTranslator();
+ STALRequest result = instance.translate(request);
+ assertEquals(SignRequest.class, result.getClass());
+ }
+
+
+ /**
+ * Test of translate method, of class STALTranslator.
+ */
+ @Test
+ @Ignore
+ public void testTranslate_STALResponse() throws Exception {
+ System.out.println("translate");
+ STALResponse response = null;
+ STALTranslator instance = new STALTranslator();
+ JAXBElement<? extends ResponseType> expResult = null;
+ JAXBElement<? extends ResponseType> result = instance.translate(response);
+ assertEquals(expResult, result);
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+ /**
+ * Test of translate method, of class STALTranslator.
+ */
+ @Test
+ @Ignore
+ public void testTranslate_1args_2() throws Exception {
+ System.out.println("translate");
+ JAXBElement<? extends ResponseType> response = null;
+ STALTranslator instance = new STALTranslator();
+ STALResponse expResult = null;
+ STALResponse result = instance.translate(response);
+ assertEquals(expResult, result);
+ // TODO review the generated test code and remove the default call to fail.
+ fail("The test case is a prototype.");
+ }
+
+} \ No newline at end of file