oscerd commented on code in PR #28274: URL: https://github.com/apache/camel/pull/28274#discussion_r4357157512
########## components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc: ########## @@ -99,3 +99,7 @@ An `as2://server/listen` consumer receives AS2 messages on `serverPortNumber`, f A `SIGNED`, `ENCRYPTED` or `SIGNED_ENCRYPTED` message structure also needs the keys and certificates of the signing and encrypting options. + +Several `as2://server/listen` consumers can share a `serverPortNumber`, each with its own `requestUriPattern`. Each +consumer applies its own keys and certificates and its own asynchronous MDN settings (`mdnUserName`, `mdnPassword`, +`mdnAccessToken` and `asyncMdnAllowedHosts`) to the messages received on its own pattern. Review Comment: Added in the commit "CAMEL-25918: Address review feedback - document the per-port settings and the asyncMdnAllowedHosts change, javadoc for the MDN constructor": a paragraph saying that the shared server connection's settings still come from the first endpoint created on the port — `sslContextParameters`/`sslContext` (TLS listener and https delivery of asynchronous MDNs), `mdnMessageTemplate`, `server`, `serverFqdn` and `as2Version` — and are per port, not per consumer. The catalog copy is updated with it. _Claude Code on behalf of oscerd_ ########## docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc: ########## @@ -2206,6 +2206,17 @@ With `strict=false`, unmarshalling no longer returns `null` or a partial result recoveries of the TOON specification apply, such as accepting an array whose length differs from the declared length; other malformed TOON fails with `IllegalArgumentException`, as in strict mode. +=== camel-as2 - consumers sharing a port use their own asynchronous MDN settings + +`as2://server/listen` consumers that share a `serverPortNumber` now deliver asynchronous MDNs with their own +`mdnUserName`, `mdnPassword`, `mdnAccessToken` and `asyncMdnAllowedHosts`, selected by the matched `requestUriPattern` +in the same way as the signing material. Previously the values of the first consumer configured on the port were used +for every consumer on it, and the values set on the other consumers were ignored. A consumer that relied on inheriting +them now has to set them itself. Review Comment: Added in the same commit: a consumer without its own `asyncMdnAllowedHosts` used to inherit the first consumer's list, so asynchronous MDNs to other hosts were refused; it now delivers to the address the sender gives, without credentials, and a deployment that counted on the inherited list as a restriction has to set it on each consumer. _Claude Code on behalf of oscerd_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
