[
https://issues.apache.org/jira/browse/CAMEL-23690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23690:
--------------------------------
Fix Version/s: 4.x
> Add camel-ubl data format for UBL 2.1 (Universal Business Language) document
> marshalling
> ----------------------------------------------------------------------------------------
>
> Key: CAMEL-23690
> URL: https://issues.apache.org/jira/browse/CAMEL-23690
> Project: Camel
> Issue Type: New Feature
> Components: camel-core
> Reporter: Claus Ibsen
> Priority: Major
> Fix For: 4.x
>
>
> Add a new camel-ubl data format for marshalling and unmarshalling UBL 2.1
> (Universal Business Language) documents.
> UBL 2.1 is an OASIS standard defining XML business document types (invoices,
> credit notes, orders, despatch advice, etc.) and is the document format used
> by the Peppol e-invoicing network. E-invoicing mandates are expanding rapidly
> across the EU (ViDA directive), UK (expected 2029), Singapore, and other
> countries, making UBL processing increasingly important for enterprise
> integration.
> The data format should support:
> - Marshal: convert UBL Java objects to XML
> - Unmarshal: parse UBL XML into Java objects
> - Auto-detection of UBL document type from XML root element or Java class name
> - All 65 UBL 2.1 document types (Invoice, CreditNote, Order, DespatchAdvice,
> etc.)
> - Options for formatted output, schema validation, charset
> Implementation should use the ph-ubl21 library
> (https://github.com/phax/ph-ubl) by Philip Helger as the underlying JAXB
> binding layer. This library is Apache 2.0 licensed, mature, and
> well-maintained.
> A data format is the correct Camel pattern for this (similar to jacksonXml,
> jaxb, etc.) rather than a component endpoint.
> Usage example:
> {code}
> from("file:invoices")
> .unmarshal().custom("ubl")
> .process(exchange -> {
> InvoiceType invoice = exchange.getIn().getBody(InvoiceType.class);
> // process invoice
> });
> {code}
> Reference: https://github.com/dscope-io/dscope-camel-ubl (third-party
> implementation as a component, demonstrates the concept but a data format is
> the idiomatic Camel approach).
> Reference: https://peppol.org/ (Peppol e-invoicing network using UBL 2.1)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)