Skip to content

ENTSOG PartyId type is entsoe.eu, not entsog.eu - #403

Merged
phax merged 1 commit into
phax:masterfrom
Dinpo:fix/entsog-party-id-type
Sep 30, 2026
Merged

phax merged 1 commit into
phax:masterfrom
Dinpo:fix/entsog-party-id-type

Conversation

@Dinpo

@Dinpo Dinpo commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Problem

ENTSOGPMode.ENTSOG_PARTY_ID_TYPE (also used by ENTSOG4PMode) is http://www.entsog.eu/eic-codes/eic-party-codes-x. The ENTSOG AS4 Usage Profile requires the host entsoe.eu, because the EIC scheme is maintained by ENTSO-E:

The type attribute on the PartyId element MUST be present and set to the fixed value http://www.entsoe.eu/eic-codes/eic-party-codes-x which indicates that the value of the element is to be interpreted as an EIC code.

That sentence, and the example messages, read the same in Rev 3.6 (docs/ENTSOG/INT0488-161115 AS4 Usage Profile_Rev_3.6_clean_final.pdf, "Party Identification" and section 3.1) and in the 4.0 public review draft in docs/ENTSOG/. A counterparty that follows the profile (the Danish gas DSO's AS4 endpoint in our case) sends and expects entsoe.eu, so the default PMode of the ENTSOG profile does not match it.

Change

  • The constant now holds http://www.entsoe.eu/eic-codes/eic-party-codes-x, with a Javadoc note about entsoe vs entsog.
  • ENTSOGPModeTest asserts the PartyId type of initiator and responder.

mvn -pl phase4-profile-entsog,phase4-entsog-client test: 29 + 3 tests, 0 failures.

Compatibility

This changes the PartyId type that the default ENTSOG PMode puts on the wire. Anyone who relied on the old value between two phase4 instances would need both sides on the same version; against a profile-conformant partner the old value was already wrong. If you would rather keep the old constant for a deprecation cycle and add a new one, I can rework it that way.

A related question (not changed here)

The ENTSOG PMode template uses CAS4.DEFAULT_ACTION_URL (.../ebms/v3.0/ns/core/200704/test) as its action. Section 2.3.1.2.2 of the profile reserves that URI for the pre-defined test service and uses http://docs.oasis-open.org/ebxml-msg/as4/200902/action (the AS4 default action) for business messages when no specific action is listed. Would you take a PR that adds that URI as a constant and uses it as the ENTSOG default, or is the generic default intentional across profiles?

🤖 Generated with Claude Code

The ENTSOG AS4 Usage Profile fixes the PartyId type attribute to
http://www.entsoe.eu/eic-codes/eic-party-codes-x (the EIC scheme is
maintained by ENTSO-E). The constant had entsog.eu.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@phax phax self-assigned this Sep 30, 2026
@phax phax added Profile ENTSOG ENTSOG AS4 related bug labels Sep 30, 2026
@phax
phax merged commit 0d0c329 into phax:master Sep 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Profile ENTSOG ENTSOG AS4 related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants