Aadhib

Enterprise Integration · Active

SAP Ariba cXML connector

A supplier-visibility connector that speaks cXML to SAP Ariba properly — strict schemas, validated payloads and a push history you can audit.

Role
Architecture and delivery
Category
Enterprise Integration
Status
Active
01

The problem

Integrating with a large procurement network is not a REST integration with different field names. cXML is a strict, versioned, schema-driven protocol: the receiving system either accepts a document or rejects it, and a rejection gives you far less to work with than a helpful JSON error body.

02

Approach

Treat the document as the unit of work. Generate the cXML, validate it against the expected schema before it goes anywhere, let a human preview exactly what will be transmitted, and keep a full history of what was pushed and what came back — so a failure two weeks ago is still diagnosable.

03

What it does

01
ProductReplenishmentMessage generation
Manufacturing visibility data expressed as valid cXML 1.2.033 documents rather than approximately correct XML.
02
Validation before transmission
Documents are checked against the expected structure first. Catching a malformed document locally is worth an enormous amount compared to catching it via a remote rejection.
03
XML preview
The exact payload is visible before it is sent, which turns integration debugging from guesswork into reading.
04
Push history
A durable record of every transmission and its result, because integration failures are usually investigated well after they happen.
05
Role-based access
Sending documents into a procurement network is a consequential action and is permissioned accordingly.
04

The hard parts

01
Strict beats forgiving
REST APIs tend to be tolerant. Enterprise B2B protocols are not — a document is conformant or it is refused, and the error rarely tells you which field was wrong.
02
Versions are load-bearing
cXML 1.2.033 is a specific contract. "Roughly cXML" is not a thing that works, and version drift is a silent breakage.
03
You cannot iterate against production
You do not experiment against a live procurement network. Validation has to happen locally, which means the schema expectations have to be modelled properly up front.

Detail

Client confidentiality

I'm not naming the organisation, and I include no endpoints, credentials, network identifiers or account details.

Why this is a good example of enterprise integration

It has all the properties that make enterprise work different from consumer work: a protocol you do not control, a schema that is not negotiable, a counterparty you cannot debug against, and a failure mode that is silent until someone asks why the data never arrived.

Stack

Protocol
cXML 1.2.033ProductReplenishmentMessageSchema validation
Application
XML previewPush historyInventory dataRole-based access

Case study

The decisions behind the build

All work