BDEW MaKo AS4 profile for German energy market communication.
This crate encodes the BDEW AS4 Kommunikationshandbuch requirements on top
of asx_rs, providing:
- [
constants] — BDEW-specific URIs, algorithm identifiers, and retry parameters - [
pmode] — [BdewAction] enum + [bdew_pmode] / [bdew_pmode_encrypted] factory functions - [
profile] — [BdewAs4Profile] entry point + [bdew_mako_profile_stack]
BDEW AS4 requirements
| Requirement | Specification |
|---|---|
| Transport | HTTPS + mutual TLS (TLS 1.2 minimum) |
| SOAP version | 1.2 |
| MEP | One-Way/Push (mandatory) |
| Signing | RSA-SHA256 + Exclusive C14N + SHA-256 digest — mandatory |
| Encryption | AES-128-CBC or AES-256-GCM + RSA-OAEP — optional |
| Party ID | 13-digit GLN, type urn:oasis:names:tc:ebcore:partyid-type:iso6523:0088 |
| Retry window | 72 hours, up to 5 attempts |
| Deduplication | Required (persistent asx_rs::storage::TtlDedupStorage) |
AS4 became mandatory for electricity market communication on 1 April 2024 and for gas market communication on 1 April 2025 (BNetzA order BK6-22-024 / BK7-22-023).
Quick start
use ;
// Build a profile and register bilateral P-Modes for each trading partner
let mut profile = new;
profile
.register_pmode
.register_pmode;
// Fail-fast at startup
profile.validate.expect;
// Resolve a P-Mode at send time
let pm = profile.resolve_pmode;
assert!;