Skip to content

Migrations

Philip Helger edited this page Aug 26, 2024 · 22 revisions

This page contains everything necessary related to migrating phase4 versions

Upgrade from 2.x to 3.x

  • The phase4-profile-bpc was removed in favour of phase4-profile-dbnalliance
  • All deprecated methods marked for removal have been removed
  • Here are the main coding related changes
    • Moved classes IAS4IncomingSecurityConfiguration and AS4IncomingSecurityConfiguration to package com.helger.phase4.incoming.crypto
    • Moved classes from com.helger.phase4.servlet to com.helger.phase4.incoming
    • Moved classes from com.helger.phase4.servlet.mgr to com.helger.phase4.incoming.mgr
    • Moved classes from com.helger.phase4.servlet.soap to com.helger.phase4.incoming.soap
    • Moved classes from com.helger.phase4.servlet.spi to com.helger.phase4.incoming.spi
    • Renamed class AS4ServletMessageProcessorManager to AS4IncomingMessageProcessorManager
    • Renamed class AS4ServletPullRequestProcessorManager to AS4IncomingPullRequestProcessorManager
    • Renamed class AbstractAS4UserMessageBuilder.ESimpleUserMessageSendResult to EAS4UserMessageSendResult
    • Renamed class AS4XServletHandler.IHandlerCustomizer to IAS4ServletRequestHandlerCustomizer
      • Made method customizeAfterHandling non-default
    • Renamed SPI class IAS4ServletMessageProcessorSPI to IAS4IncomingMessageProcessorSPI
      • Was also moved to a different package - see above
      • Made method IAS4IncomingMessageProcessorSPI non-default
    • Renamed SPI class IAS4ServletPullRequestProcessorSPI to IAS4IncomingPullRequestProcessorSPI
      • Was also moved to a different package - see above
    • Renamed class Phase4PeppolServletConfiguration to Phase4PeppolDefaultReceiverConfiguration
    • Renamed class Phase4PeppolReceiverCheckData to Phase4PeppolReceiverConfiguration
    • Added template parameter to class AbstractAS4IncomingDumperWithHeaders
    • Added template parameter to class AbstractAS4OutgoingDumperWithHeaders
    • Renamed method IPModeResolver.getPModeOfID to findPMode
    • Renamed methods AS4XServletHandler.(get|set)HandlerCustomizer to (get|set)RequestHandlerCustomizer
    • Made method IAS4CryptoFactory.getKeyPasswordPerAlias(String) non-default
    • Made method IAS4IncomingDumper.onEndRequest non-default and added optional "caughtException" parameter
    • Made method IAS4OutgoingDumper.onEndRequest non-default and added optional "caughtException" parameter
    • Extended method IAS4ProfileValidator.validatePMode with an additional parameter to differentiate UserMessage and SignalMessage
    • Moved all setters from AS4XServletHandler to AS4RequestHandler

Upgrade from 1.x to 2.x

The major change in v2.x is the new software baseline.

  • It requires at least Java 11 for building and execution
  • It was updated to the JakartaEE 9 specifications
    • Uses Servlet Specification 5.0.x
    • All the namespaces javax.servlet where changed to jakarta.servlet
    • Uses Eclipse Angus instead of Jakarta Mail
  • The minimum requirements for application servers are
    • Tomcat 10.0.x or Tomcat 10.1.x
    • Jetty 11.x

All other potentially breaking changes are listed in News and noteworthy.