# phase4 ## Docs - [Custom Profiles](https://mintlify.wiki/phax/phase4/advanced/custom-profiles.md): Learn how to implement and register a custom AS4 profile in phase4 using the SPI mechanism. - [Duplicate Detection](https://mintlify.wiki/phax/phase4/advanced/duplicate-detection.md): How phase4 detects and rejects duplicate incoming AS4 messages. - [Message Dumping](https://mintlify.wiki/phax/phase4/advanced/message-dumping.md): Capture raw incoming and outgoing AS4 messages to disk for debugging and audit. - [Retry Handling](https://mintlify.wiki/phax/phase4/advanced/retry-handling.md): Configure AS4 message retries and reception awareness in phase4. - [AS4Configuration](https://mintlify.wiki/phax/phase4/api/as4-configuration.md): Central phase4 configuration class providing all global properties and configuration access. - [AS4Sender](https://mintlify.wiki/phax/phase4/api/as4-sender.md): Generic AS4 user message and pull request sending API for the phase4 library. - [AS4Servlet](https://mintlify.wiki/phax/phase4/api/as4-servlet.md): Servlet and handler classes for receiving AS4 messages in phase4. - [Phase4BDEWSender](https://mintlify.wiki/phax/phase4/api/bdew-sender.md): BDEW AS4 profile sender for energy market messages in Germany. - [Phase4CEFSender](https://mintlify.wiki/phax/phase4/api/cef-sender.md): CEF AS4 profile sender for sending messages via OASIS BDXR SMP v1 or v2 dynamic discovery. - [Crypto factory](https://mintlify.wiki/phax/phase4/api/crypto-factory.md): IAS4CryptoFactory interface and implementations for keystores and configuration-based crypto in phase4. - [AS4CryptParams](https://mintlify.wiki/phax/phase4/api/crypto-params.md): Encryption parameters for AS4 messages including algorithm, certificate, and session key configuration. - [Endpoint detail providers](https://mintlify.wiki/phax/phase4/api/endpoint-detail-provider.md): Implementations of IAS4EndpointDetailProvider for static, Peppol SMP, OASIS BDXR SMP v1, and BDXR SMP v2 endpoint discovery. - [Phase4ENTSOGSender](https://mintlify.wiki/phax/phase4/api/entsog-sender.md): ENTSOG AS4 profile sender for European natural gas transmission operator messages. - [Phase4EudamedSender](https://mintlify.wiki/phax/phase4/api/eudamed-sender.md): EUDAMED AS4 profile sender for the European database on medical devices. - [Phase4PeppolSender](https://mintlify.wiki/phax/phase4/api/peppol-sender.md): Peppol AS4 profile sender for sending SBDH-wrapped documents via the Peppol network. - [PMode](https://mintlify.wiki/phax/phase4/api/pmode.md): Processing Mode (PMode) model classes for configuring AS4 message exchange behavior in phase4. - [AS4SigningParams](https://mintlify.wiki/phax/phase4/api/signing-params.md): Signing parameters for AS4 messages including algorithm selection and certificate constraints. - [SMP lookup](https://mintlify.wiki/phax/phase4/api/smp-lookup.md): How phase4 performs SMP-based dynamic endpoint discovery and how to configure it. - [AS4 overview](https://mintlify.wiki/phax/phase4/concepts/as4-overview.md): Understand the AS4 protocol, message types, message exchange patterns, and SOAP version support in phase4. - [Cryptography and WS-Security](https://mintlify.wiki/phax/phase4/concepts/crypto.md): Configure signing and encryption in phase4 using WS-Security, AS4CryptoFactoryInMemoryKeyStore, AS4SigningParams, and AS4CryptParams. - [PMode configuration](https://mintlify.wiki/phax/phase4/concepts/pmodes.md): Learn how Processing Modes (PModes) define the security, protocol, and party settings for each AS4 message exchange. - [AS4 profiles overview](https://mintlify.wiki/phax/phase4/concepts/profiles.md): Understand what AS4 profiles are, which profiles phase4 supports, and how to register and configure them. - [Crypto setup](https://mintlify.wiki/phax/phase4/configuration/crypto-setup.md): Configure keystores and trust stores for AS4 message signing and encryption using the two built-in crypto factory approaches. - [Data path and storage](https://mintlify.wiki/phax/phase4/configuration/data-path.md): Configure where phase4 stores persistent data, PModes, duplicate detection state, and message dumps. - [Logging](https://mintlify.wiki/phax/phase4/configuration/logging.md): Configure and customize logging for the phase4 library using SLF4J and log4j2. - [Configuration properties](https://mintlify.wiki/phax/phase4/configuration/properties.md): All configuration properties recognized by phase4, their default values, and how to provide a custom configuration. - [Installation](https://mintlify.wiki/phax/phase4/installation.md): Add phase4 to your Maven or Gradle project. Covers all modules, the BOM, and version requirements. - [Introduction](https://mintlify.wiki/phax/phase4/introduction.md): phase4 is a lightweight, embeddable Java library for sending and receiving AS4 messages. It provides built-in support for Peppol, CEF eDelivery, BDEW, ENTSOG, EUDAMED, and other e-delivery profiles. - [Changelog](https://mintlify.wiki/phax/phase4/migration/changelog.md): Version history and notable changes for the phase4 AS4 library. - [BDEW Profile](https://mintlify.wiki/phax/phase4/profiles/bdew.md): AS4 profile for the German energy and water industry (Bundesverband der Energie- und Wasserwirtschaft). - [CEF eDelivery Profile](https://mintlify.wiki/phax/phase4/profiles/cef.md): CEF (Connecting Europe Facility) eDelivery AS4 profile for EU public administrations. - [DBNAlliance Profile](https://mintlify.wiki/phax/phase4/profiles/dbnalliance.md): AS4 profile for North American B2B e-commerce (Digital Business Networks Alliance). - [ENTSOG Profile](https://mintlify.wiki/phax/phase4/profiles/entsog.md): AS4 profile for European natural gas transmission system operators (ENTSOG). - [EUDAMED Profile](https://mintlify.wiki/phax/phase4/profiles/eudamed.md): AS4 profile for the European Union Medical Devices Database (EUDAMED). - [Peppol Profile](https://mintlify.wiki/phax/phase4/profiles/peppol.md): OpenPeppol AS4 profile for sending and receiving business documents across the Peppol network using phase4. - [Quickstart](https://mintlify.wiki/phax/phase4/quickstart.md): Send your first AS4 user message with phase4 in a few minutes. - [Message Processing](https://mintlify.wiki/phax/phase4/receiving/message-processing.md): Understand the incoming message lifecycle, IAS4IncomingMessageMetadata, duplicate detection, receipt generation, and error handling. - [Receiving Messages](https://mintlify.wiki/phax/phase4/receiving/overview.md): How phase4 receives and processes incoming AS4 messages via a servlet-based architecture with SPI handlers. - [Peppol Server Setup](https://mintlify.wiki/phax/phase4/receiving/peppol-server.md): Configure Phase4PeppolAS4Servlet, implement IPhase4PeppolIncomingSBDHandlerSPI, and initialise the Peppol receiver checks. - [Servlet Setup](https://mintlify.wiki/phax/phase4/receiving/servlet-setup.md): Register the AS4Servlet in web.xml, initialize the AS4 server, and optionally customize request handling. - [BDEW Sending](https://mintlify.wiki/phax/phase4/sending/bdew.md): Send AS4 messages to the German energy sector network using Phase4BDEWSender with BDEW-specific crypto settings and payload parameters. - [CEF eDelivery Sending](https://mintlify.wiki/phax/phase4/sending/cef-edelivery.md): Send AS4 messages using the CEF four-corner profile with Phase4CEFSender, supporting BDXR SMP v1 and v2 discovery. - [Dynamic Discovery](https://mintlify.wiki/phax/phase4/sending/dynamic-discovery.md): Resolve receiver endpoint URLs and AP certificates automatically at send time using IAS4EndpointDetailProvider implementations. - [ENTSOG Sending](https://mintlify.wiki/phax/phase4/sending/entsog.md): Send AS4 messages to the European gas transmission network using Phase4ENTSOGSender with ENTSOG-specific payload parameters. - [EUDAMED Sending](https://mintlify.wiki/phax/phase4/sending/eudamed.md): Send AS4 messages to the European Database on Medical Devices (EUDAMED) using Phase4EudamedSender. - [Generic AS4 Sending](https://mintlify.wiki/phax/phase4/sending/generic-as4.md): Send AS4 user messages and pull requests without any profile-specific defaults using AS4Sender. - [Sending Messages](https://mintlify.wiki/phax/phase4/sending/overview.md): Overview of the two sending approaches in phase4 — profile-specific senders and the generic AS4Sender — and the shared builder pattern they all use. - [Peppol Sending](https://mintlify.wiki/phax/phase4/sending/peppol.md): Send AS4 messages to the Peppol network using Phase4PeppolSender with automatic SBDH creation, SMP lookup, and AP certificate validation.