aboutsummaryrefslogtreecommitdiff

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 in mzs: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} with create{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 the AppDeliveryID was unknown.
  • Bug Fix: Fix NullPointerException when mzs:DeliveryRequest/Receiver is identified via p: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 a msg: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 to at.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 to filetype 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 to mzs:DeliveryRequestType/Sender; Reason: Element was added to [zusemsg] 2.2.007.
  • Add new choice in mzs:DeliveryNotification to forward new answer of type msg:ERVConfirmedDelivery to the app.
  • Move element msg:RelayedViaERV from SuccessType into MessageType (so that it's available to all types that derive from MessageType).
  • Change mzs:MessageType/ZSDeliveryID from mandatory to optional element. Reason: In certain cases the ZSDeliveryID does not exist. Example: Perform QueryPersonRequest, Request fails, no ZSDeliveryID because request was never sent to delivery service.
  • Change type of mzs:Error/Code from xs:integer to xs:string. Reason: msg:Code is also of type xs: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 the DeliveryRequest type. In MOA ZS 1.5.3, this element replaced the ZKOPF response. ZKOPF request and response do not exist anymore, which renders the Server response irrelevant. This change is not backward compatible.
  • The ProfileID option in the DeliveryRequest/Sender element was replaced by msg:SenderProfile because sender profiles are now registered at the delivery service and referred to via DeliveryRequest/Sender/SenderProfile. This change is not backward compatible.
  • The SignatureKeyID element was removed from DeliveryRequest 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 and msg:AdditionalCriteria were added to DeliveryRequest/Sender because they were also added as optional elements to [zusemsg]. This change is backward compatible.
  • The element Person in DeliveryRequest/Sender was replaced by the p: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 in DeliveryRequest/Receiver was added. This choice allows to pass a p:Identification element instead of the Person-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 to DeliveryRequest/Receiver because this element was also added as an optional element to [zusetnvz]. This change is backward compatible.
  • The optional element msg:AdditionalCriteria and msg:PreAdviceNote were added to DeliveryRequest/Receiver because these element were also added as optional elements to [zusemsg]. This change is backward compatible.
  • The element MetaData in DeliveryRequest was replaced with the msg:MetaData element from [zusemsg]. The reason for replacing the MetaData element is that the MetaData 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 the DeliveryRequest 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 the Config-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 the msg:Payload element. This change is not backward compatible.

  • The types BinaryDocument and DocumentReference in DeliveryRequest/Payload were merged to remove duplicated element. Merging these elements ensures that both payload types contain all of msg:Attachments mandatory fields. This change is not backward compatible.
  • The element MD5Checksum in DeliveryRequest/Payload/DocumentReference was replaced with msg:Checksum, which was introduced by [zusemsg]. This change is not backward compatible.
  • The element msg:Size was added to DeliveryRequest/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 element Config/ServiceTimeout. This change is not backward compatible.

Changes in mzs:DeliveryResponse

  • The option DeliveryConfirmation in DeliveryResponse was dropped because it was dropped in [zusemsg]. This change is not backwards-compatible.
  • Add DeliverySystem, ZSDeliveryID and GZ to MessageType, which is the base type of DeliveryResponse/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 to ErrorType because it was added in [zusemsg]. This change is backward compatible.
  • Remove DocumentReference from ErrorType because it was removed from [zusemsg]. This change is not backward compatible.
  • Add the elements msg:DeliveryTimestamp and msg:RelayedViaERV to SuccessType because they were added in [zusemsg]. This change is backward compatible.

Changes in mzs:DeliveryNotification

  • Remove DeliveryConfirmation and DeliveryStatement elements from DeliveryNotification as those element were dropped from [zusemsg]. This change is not backward compatible.
  • Add the elements msg:SenderDetails, msg:ReceiverDetails, msg:User, AdditionalFormat and msg:NotificationsPerformed to the DeliveryNotification because they were added to [zusemsg]. This change is backward compatible.

Changes in mzs_mypersondata

  • The element AbstractPersonType was defined as abstract, since the equivalent type in [zusemsg] is abstract as well. This change is not backward compatible.
  • The elements Name and DateOfBirth in PhysicalPersonType were set from optional to mandatory because they are mandatory in [zusemsg]. This change is not backward compatible.
  • The optional element Affix was added to PersonNameType since this element was added to [zusemsg] as well. This change is backward compatible.
  • The CorporateBodyType was extended by the optional Target element that was added to [zusemsg]. This change is backward compatible.
  • The elements FullName and Organization in CorporateBodyType 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 to PostalAddressType. This change is backward compatible.
  • The optional attribute MessengerService was added to TelephoneAddressType. This change is backward compatible.