MOA ZS - Changelog
This document summarizes changes between MOA ZS Releases that were made in the MOA ZS codebase and in the app2mzs interfaces. For a non-normative summary of changes that were made in the ZUSE specifications (and therefore affect MOA ZS directly and a sender application indirectly), the reader is referred to ZUSE Specification Changelog.
Changes MOA ZS 2.0.0 RC9
- Update [zusemsg] schema to version from 2020-02-26.
Changes MOA ZS 2.0.0 RC8
- Fix: Improve exception handling on MOA ZS: Process exception correctly after backend service times out. Before: When the MOA ZS backend service times out while processing a delivery request, MOA ZS answers synchronously to the Sender app and forwards the result asynchronously at a later point. If an exception were to occur after the timeout, MOA ZS would swallow this exception without being properly processed. The fix: If an exception occurs, MOA ZS converts the exception into a response and hands it over to the sink hub for proper processing of the event.
- Fix: Parser Error that occurs when MOA ZS mzs backend service times out.
Changes MOA ZS 2.0.0 RC7
- MZS Schema Change: Add missing parameters to
ERVDeliveryConfirmed
(an element inmzs:DeliveryNotification
). - Change Behavior of
msg/
Service: Acknowledge response if and only if backend succeeds. Return soap fault otherwise. - Bug Fix: Handle
InterruptedException
as discussed in https://stackoverflow.com/questions/3976344/handling-interruptedexception-in-java . - Add curl examples for sending
msg:DeliveryNotifications
to MOA ZS.
Changes MOA ZS 2.0.0 RC6
- Bug Fix: Finalize the removal of the "JAXB Class Not Found Exception" workaround from 2.0.0-RC3.
- Bug Fix: Comply with zuse specifications when creating TNVZ / MSG / App Clients (e.g. disable "Store Binary Response" for TNVZ Client and App Client, Disable MTOM for TNVZ Client).
- Refactor: Replace
createSoap1{1,2}
withcreate{Tnvz,App,Msg}Client
. - Change Behavior: In case where MOA ZS receives a notification or request status with a unknown
AppDeliveryID
, MOA ZS issues a warning. Then, MOA ZS falls back to the default configuration for figuring out on how to handle the notification. Before, MOA ZS would cancel the process if theAppDeliveryID
was unknown. - Bug Fix: Fix NullPointerException when
mzs:DeliveryRequest/Receiver
is identified viap:IdentificationType
. - Add
msg:ClearingProfilID
in mzs2msg conversion.
Changes MOA ZS 2.0.0 RC5
- Bug Fix; Problem: With
perform-query-person-request
activated, MOA ZS generated amsg:DeliveryRequest
that did not comply with the [msg] schema. Solution: Make response compliant.
Changes MOA ZS 2.0.0 RC4
- Bug Fix: Ensure that [tnvz] QueryPersonRequest/Sender marshalls correctly (to prevent error 400).
Changes MOA ZS 2.0.0 RC3
- Remove Workaround that fixes JAXB Class Not Found Exception when running application in Tomcat.
- Bump zusetnvz contracts from version 2.2.006 to 2.2.008.
Changes MOA ZS 2.0.0 RC2
- Minor Fixes in Documentation and Readme.
- Change MOA ZS Group ID from
at.gv.zustellung
toat.gv.egiz
. - Bug Fix: Booleans in application.yaml are parsed correctly.
- Bug Fix: [zusemsg] and [zusetnvz] clients use SOAP 1.2 to comply with the specification.
- Bug Fix: Change
type
property key tofiletype
in application.yaml such that MOA ZS receives the property value. - Bug Fix: Validation error was assigned to TNVZ Client, but appeared in MSG Client.
- Upgrade [zusemsg] schema files from 2.0.0 to 2.0.007 and apply changes to codebase.
- Upgrade [zusetnvz] from 2.0.0 to 2.0.006 and apply changes to codebase.
- Add licenses, license headers and NOTICE.
- Add @author tags.
app2mzs interface changes
- Switch namespace of
AustrianAdressesOnly
from [tnvz] to [msg]. - Add new optional element
ClearingProfilID
tomzs:DeliveryRequestType/Sender
; Reason: Element was added to [zusemsg] 2.2.007. - Add new choice in
mzs:DeliveryNotification
to forward new answer of typemsg:ERVConfirmedDelivery
to the app. - Move element
msg:RelayedViaERV
fromSuccessType
intoMessageType
(so that it's available to all types that derive fromMessageType
). - Change
mzs:MessageType/ZSDeliveryID
from mandatory to optional element. Reason: In certain cases theZSDeliveryID
does not exist. Example: Perform QueryPersonRequest, Request fails, no ZSDeliveryID because request was never sent to delivery service. - Change type of
mzs:Error/Code
fromxs:integer
toxs:string
. Reason:msg:Code
is also of typexs:string
.
Changes Between MOA ZS 1.5.3 and MOA ZS 2.0.0 RC1
For version 2.0.0, MOA ZS was rewritten from scratch. The following list summarizes the changes:
- Add compatibility with [zusemsg].
- Add compatibility with [zusetnvz].
- Replace the database as persistent storage with an in-memory cache.
- Update the app2mzs WSDL contract and its data types to fit the needs of [zusemsg] and [zusetnvz].
- Integrate signature verification with MOA SP-SS.
- Drop support for message encryption and signature creation.
- Target Platform Java 12.
Changes between app2mzs 1.5.3 and app2mzs 2.0.0
This section describes how the app2mzs WSDL contract was changed and explains why these changes were applied. The changes in the app2mzs WSDL contract accommodate feature additions and feature removals in [zusemsg] 2.0.0 and [zusetnvz] 2.0.0. Not all changes are backward compatible and require adjustments in app2mzs-1.5.3-compatible clients.
Changes in mzs:DeliveryRequest
- The
Server
element was removed from theDeliveryRequest
type. In MOA ZS 1.5.3, this element replaced the ZKOPF response. ZKOPF request and response do not exist anymore, which renders theServer
response irrelevant. This change is not backward compatible. - The
ProfileID
option in theDeliveryRequest/Sender
element was replaced bymsg:SenderProfile
because sender profiles are now registered at the delivery service and referred to viaDeliveryRequest/Sender/SenderProfile
. This change is not backward compatible. - The
SignatureKeyID
element was removed fromDeliveryRequest
because this element refers to the signing key. Since signature creation was dropped from MOA ZS, the element is not relevant. This change is not backward compatible. - The optional elements
msg:Logo
andmsg:AdditionalCriteria
were added toDeliveryRequest/Sender
because they were also added as optional elements to [zusemsg]. This change is backward compatible. - The element
Person
inDeliveryRequest/Sender
was replaced by thep:CorporateBody
profile because that is the only sender that is allowed by [zusemsg]. This change is not backward compatible. DeliveryRequest/Sender/Address
was removed because the element was dropped in [zusemsg]. This change is not backward compatible.- An alternative choice to the
Person
-Address
sequence inDeliveryRequest/Receiver
was added. This choice allows to pass ap:Identification
element instead of thePerson
-Address
sequence. The choice was added to enable the optional feature in [zusemsg]. This change is backward compatible. - The optional element
tnvz:AustrianAddressesOnly
was added toDeliveryRequest/Receiver
because this element was also added as an optional element to [zusetnvz]. This change is backward compatible. - The optional element
msg:AdditionalCriteria
andmsg:PreAdviceNote
were added toDeliveryRequest/Receiver
because these element were also added as optional elements to [zusemsg]. This change is backward compatible. - The element
MetaData
inDeliveryRequest
was replaced with themsg:MetaData
element from [zusemsg]. The reason for replacing theMetaData
element is that theMetaData
from the app2mzs contract represents the same data that the delivery service expects. Furthermore, the amount of changes between MetaData from app2mzs 1.5.3 and [zusemsg] 2.0.0 prohibits a straight forward conversion between both elements. This change is not backward compatible. The optional
Config
element was added to theDeliveryRequest
element. This element allows overriding individual configuration parameters for the ongoing request. This change is backward compatible: You do not need to specify any parameters in theConfig
-element since you can also configure delivery requests in application.yaml. See Chapter Configuration for more details.The element
XMLDocument
was replaced as this element was dropped from [zusemsg] in favor of themsg:Payload
element. This change is not backward compatible.- The types
BinaryDocument
andDocumentReference
inDeliveryRequest/Payload
were merged to remove duplicated element. Merging these elements ensures that both payload types contain all ofmsg:Attachment
s mandatory fields. This change is not backward compatible. - The element
MD5Checksum
inDeliveryRequest/Payload/DocumentReference
was replaced withmsg:Checksum
, which was introduced by [zusemsg]. This change is not backward compatible. - The element
msg:Size
was added toDeliveryRequest/Payload
because it was also added as a mandatory element in [zusemsg]. This change is not backward compatible. - The
sync
attribute was dropped in favor of the elementConfig/ServiceTimeout
. This change is not backward compatible.
Changes in mzs:DeliveryResponse
- The option
DeliveryConfirmation
inDeliveryResponse
was dropped because it was dropped in [zusemsg]. This change is not backwards-compatible. - Add
DeliverySystem
,ZSDeliveryID
andGZ
toMessageType
, which is the base type ofDeliveryResponse/Success
, -PartialSuccess
, and -Error
. These mandatory elements were added to [zusemsg]. This change is backwards-compatible. - Add
SignedDeliveryRequestStatus
toMessageType
. This optional element contains the original, unaltered response that was sent from the delivery service to MOA ZS. The app can use this response to verify the contained signature. This change is backward compatible. - Remove
MZSDeliveryID
because this ID does not exist anymore. This change is not backward compatible. - Add the optional
PreadviceNoteSent
element toErrorType
because it was added in [zusemsg]. This change is backward compatible. - Remove
DocumentReference
fromErrorType
because it was removed from [zusemsg]. This change is not backward compatible. - Add the elements
msg:DeliveryTimestamp
andmsg:RelayedViaERV
toSuccessType
because they were added in [zusemsg]. This change is backward compatible.
Changes in mzs:DeliveryNotification
- Remove
DeliveryConfirmation
andDeliveryStatement
elements fromDeliveryNotification
as those element were dropped from [zusemsg]. This change is not backward compatible. - Add the elements
msg:SenderDetails
,msg:ReceiverDetails
,msg:User
,AdditionalFormat
andmsg:NotificationsPerformed
to theDeliveryNotification
because they were added to [zusemsg]. This change is backward compatible.
Changes in mzs_mypersondata
- The element
AbstractPersonType
was defined asabstract
, since the equivalent type in [zusemsg] is abstract as well. This change is not backward compatible. - The elements
Name
andDateOfBirth
inPhysicalPersonType
were set from optional to mandatory because they are mandatory in [zusemsg]. This change is not backward compatible. - The optional element
Affix
was added toPersonNameType
since this element was added to [zusemsg] as well. This change is backward compatible. - The
CorporateBodyType
was extended by the optionalTarget
element that was added to [zusemsg]. This change is backward compatible. - The elements
FullName
andOrganization
inCorporateBodyType
were set from optional to mandatory because they are compulsory in [zusemsg]. This change is not backward compatible. - The restriction from
CountryCode
was lifted. This change is backward compatible. - The optional attribute
type
was added toPostalAddressType
. This change is backward compatible. - The optional attribute
MessengerService
was added toTelephoneAddressType
. This change is backward compatible.