diff options
Diffstat (limited to 'utils')
6 files changed, 84 insertions, 5 deletions
diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java index cb0a163c..29124935 100644 --- a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/ObjectFactory.java @@ -28,7 +28,8 @@ public class ObjectFactory { private final static QName _Grunddaten_QNAME = new QName("", "Grunddaten"); private final static QName _Script_QNAME = new QName("", "Script"); - private final static QName _Response_QNAME = new QName("", "Response"); + /** A-Trust expects <pre><Result></pre> instead of <pre><Response></pre> */ + private final static QName _Response_QNAME = new QName("", "Result"); //Response"); private final static QName _SVPersonenbindung_QNAME = new QName("", "SV-Personenbindung"); private final static QName _Status_QNAME = new QName("", "Status"); private final static QName _EHIC_QNAME = new QName("", "EHIC"); @@ -132,9 +133,9 @@ public class ObjectFactory { /** * Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}} - * + * A-Trust expects <pre><Result></pre> instead of <pre><Response></pre> */ - @XmlElementDecl(namespace = "", name = "Response") + @XmlElementDecl(namespace = "", name = "Result") //Response") public JAXBElement<ResponseType> createResponse(ResponseType value) { return new JAXBElement<ResponseType>(_Response_QNAME, ResponseType.class, null, value); } diff --git a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java index 13f79000..f5c1ac04 100644 --- a/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java +++ b/utils/src/main/java/at/buergerkarte/namespaces/cardchannel/package-info.java @@ -1,2 +1,2 @@ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.buergerkarte.at/cardchannel", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@javax.xml.bind.annotation.XmlSchema(namespace = "", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) package at.buergerkarte.namespaces.cardchannel; diff --git a/utils/src/test/cardchannel/marshalled.xml b/utils/src/test/cardchannel/marshalled.xml new file mode 100644 index 00000000..e53ab084 --- /dev/null +++ b/utils/src/test/cardchannel/marshalled.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Script xmlns:ns2="http://www.buergerkarte.at/cardchannel"><ns2:Reset/></Script>
\ No newline at end of file diff --git a/utils/src/test/cardchannel/script.xml b/utils/src/test/cardchannel/script.xml new file mode 100644 index 00000000..dd0da379 --- /dev/null +++ b/utils/src/test/cardchannel/script.xml @@ -0,0 +1,6 @@ +<!--Script> + <Reset cold='true' /> + <CommandAPDU sequence='1' of='2' expectedSW='9000'>00A4000C023F00</CommandAPDU> + <CommandAPDU sequence='2' of='2' expectedSW='9000'>00B0820000</CommandAPDU> +</Script--> +<Script><Reset/></Script>
\ No newline at end of file diff --git a/utils/src/test/java/cardchannel/UnmarshalTest.java b/utils/src/test/java/cardchannel/UnmarshalTest.java new file mode 100644 index 00000000..998dd9e6 --- /dev/null +++ b/utils/src/test/java/cardchannel/UnmarshalTest.java @@ -0,0 +1,71 @@ +/* + * 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 cardchannel; + +import at.buergerkarte.namespaces.cardchannel.ObjectFactory; +import at.buergerkarte.namespaces.cardchannel.ResetType; +import at.buergerkarte.namespaces.cardchannel.ScriptType; +import java.io.File; +import java.io.FileNotFoundException; +import java.util.List; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import javax.xml.bind.Unmarshaller; +import org.junit.Ignore; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at> + */ +public class UnmarshalTest { + + @Test + public void unmarshalScript() throws FileNotFoundException, JAXBException { + JAXBContext ctx = JAXBContext.newInstance(ObjectFactory.class); + Unmarshaller um = ctx.createUnmarshaller(); + + JAXBElement<ScriptType> script = (JAXBElement<ScriptType>) um.unmarshal(new File("src/test/cardchannel/script.xml")); + + ScriptType scriptT = script.getValue(); + System.out.println("script " + scriptT.getClass()); + List<Object> resetOrCommandAPDUOrVerifyAPDU = scriptT.getResetOrCommandAPDUOrVerifyAPDU(); +// assertEquals(3, resetOrCommandAPDUOrVerifyAPDU.size()); + for (Object object : resetOrCommandAPDUOrVerifyAPDU) { + System.out.println("script contains: " + object.getClass()); + } + } + + @Test + @Ignore + public void marshalScript() throws JAXBException { + JAXBContext ctx = JAXBContext.newInstance(ObjectFactory.class); + Marshaller m = ctx.createMarshaller(); + + ObjectFactory of = new ObjectFactory(); + ResetType r = of.createResetType(); + ScriptType s = of.createScriptType(); + s.getResetOrCommandAPDUOrVerifyAPDU().add(r); + JAXBElement<ScriptType> script = of.createScript(s); + + m.marshal(script, new File("src/test/cardchannel/marshalled.xml")); + + } +} diff --git a/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml b/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml index de881c31..54af272b 100644 --- a/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml +++ b/utils/src/test/requests/CreateXMLSignatureRequest02.xml_bound.xml @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CreateXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><KeyboxIdentifier>SecureSignatureKeypair</KeyboxIdentifier><DataObjectInfo Structure="detached"><DataObject Reference=""/><TransformsInfo><FinalDataMetaInfo><MimeType>application/xhtml+xml</MimeType></FinalDataMetaInfo></TransformsInfo><TransformsInfo><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></TransformsInfo></DataObjectInfo><SignatureInfo><SignatureEnvironment><XMLContent></XMLContent></SignatureEnvironment><SignatureLocation Index="2">/saml:Assertion</SignatureLocation></SignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CreateXMLSignatureRequest xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><KeyboxIdentifier>SecureSignatureKeypair</KeyboxIdentifier><DataObjectInfo Structure="detached"><DataObject Reference=""/><TransformsInfo><FinalDataMetaInfo><MimeType>application/xhtml+xml</MimeType></FinalDataMetaInfo></TransformsInfo><TransformsInfo><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></TransformsInfo></DataObjectInfo><SignatureInfo><SignatureEnvironment><XMLContent/></SignatureEnvironment><SignatureLocation Index="2">/saml:Assertion</SignatureLocation></SignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file |