diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-05-08 09:41:37 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-05-08 09:41:37 +0200 |
commit | 1aaec2e6127b9b2261a97749daa15c23f0af7be1 (patch) | |
tree | 1f52ca9d17ae9ff7853a7fbbafa3c179ec022081 /src/main/resources | |
parent | fefde1ad7592412007b9efed2b62cb403d3f6cac (diff) | |
download | moa-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')
-rw-r--r-- | src/main/resources/mzs/app2mzs.xsd | 6 | ||||
-rw-r--r-- | src/main/resources/mzs/mzs_mypersondata_en.xsd | 9 |
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> |