aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/mzs
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-08 09:41:37 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-08 09:41:37 +0200
commit1aaec2e6127b9b2261a97749daa15c23f0af7be1 (patch)
tree1f52ca9d17ae9ff7853a7fbbafa3c179ec022081 /src/main/resources/mzs
parentfefde1ad7592412007b9efed2b62cb403d3f6cac (diff)
downloadmoa-zs-1aaec2e6127b9b2261a97749daa15c23f0af7be1.tar.gz
moa-zs-1aaec2e6127b9b2261a97749daa15c23f0af7be1.tar.bz2
moa-zs-1aaec2e6127b9b2261a97749daa15c23f0af7be1.zip
Implement Pipeline Flow and mzs2msg Conversion
- Implement and test conversion from mzs:DeliveryRequest to msg:DeliveryRequest with the "convert-pojos-by-hand"-strategy. Reason: The chosen strategy benefits from JAXB's strong typing, which is useful in this scenario: Differences between msg and mzs are nuanced and easy to overlook. The chosen strategy is, unfortunately, verbose and could become expensive to maintain. - Update SameThreadDeliveryPipeline: Integrate tnvz query, conversion, and msg query. - Add MsgClient stub. tnvz: - Change TnvzClient stub interface. - Implement mimetype mismatch check from tnvz Response. - Put p:Identification from tnvz response into msg:DeliveryRequest. MZS Schema changes: - Replace DeliveryRequest/Sender/Person with CorporateBody (because thats the only sender that is allowed by zusemsg) and add a SenderProfile choice. - Add ID Attribute to DeliveryRequest/Sender because msg/DeliveryRequest/Sender/AbstractSenderPersonType also has an id attribute. - Remove PersonDataType because it's dead code.
Diffstat (limited to 'src/main/resources/mzs')
-rw-r--r--src/main/resources/mzs/app2mzs.xsd6
-rw-r--r--src/main/resources/mzs/mzs_mypersondata_en.xsd9
2 files changed, 5 insertions, 10 deletions
diff --git a/src/main/resources/mzs/app2mzs.xsd b/src/main/resources/mzs/app2mzs.xsd
index 29f94df..9818d5a 100644
--- a/src/main/resources/mzs/app2mzs.xsd
+++ b/src/main/resources/mzs/app2mzs.xsd
@@ -16,7 +16,10 @@
<xs:element name="Sender">
<xs:complexType>
<xs:sequence>
- <xs:element ref="p:Person"/>
+ <xs:choice>
+ <xs:element ref="p:CorporateBody"/>
+ <xs:element ref="msg:SenderProfile"/>
+ </xs:choice>
<xs:choice>
<xs:element name="WebserviceURL">
<xs:complexType>
@@ -41,6 +44,7 @@
<xs:element ref="msg:Logo" minOccurs="0"/>
<xs:element ref="msg:AdditionalCriteria" minOccurs="0"/>
</xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Receiver">
diff --git a/src/main/resources/mzs/mzs_mypersondata_en.xsd b/src/main/resources/mzs/mzs_mypersondata_en.xsd
index ac07ddb..f8021db 100644
--- a/src/main/resources/mzs/mzs_mypersondata_en.xsd
+++ b/src/main/resources/mzs/mzs_mypersondata_en.xsd
@@ -51,15 +51,6 @@
</xs:annotation>
</xs:element>
<!--### Complex types ###-->
- <xs:complexType name="PersonDataType">
- <xs:annotation>
- <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element ref="Person"/>
- <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
<xs:complexType name="IdentificationType">
<xs:annotation>
<xs:documentation>unique identifier</xs:documentation>