cXML support overview

The WebSphere Business Integration Connect Document Manager identifies a cXML document by the root element name of the XML document, which is "cXML", and the version identified by the cXML DOCTYPE (DTD). For example, the following DOCTYPE is for cXML version 1.2.009:

<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.009/cXML.dtd">

The Document Manager performs the DTD validation on cXML documents; however, Business Integration Connect does not provide cXML DTDs. You can download them from www.cxml.org; and then upload them into Business Integration Connect through the Validation Map module in the Community Console. After you upload the DTD, associate it with the cXML document flow. Refer to Configuring the hub for more information on associating the DTD with the cXML document flow.

The Document Manager uses two attributes of the cXML root element for document management: the payloadID and timestamp. The cXML payloadID and timestamp are used as the document ID number and document timestamp. Both are viewable in the Community Console for document management.

The From and To elements within the cXML header contain the Credential element that is used for document routing and authentication. The example below shows the From and To elements as the source and destination of the cXML document:

<Header>
<From>

            <Credential domain="AcmeUserId">
                <Identity>admin@acme.com</Identity>
            </Credential>
            <Credential domain="DUNS">
                <Identity>130313038</Identity>
            </Credential>
</From
<To>
            <Credential domain="DUNS">
                <Identity>987654321</Identity>
            </Credential>
            <Credential domain="IBMUserId">
                <Identity>test@ibm.com</Identity>
            </Credential>
</To>

If more than one credential element is used, the Document Manager uses the DUNS number as the Business Identifier for routing and authentication. In the case where there is no DUNS number given, the first Credential is used.

Business Integration Connect does not use the information in the Sender element.

In a synchronous transaction, the From and To header is not used in a cXML response document. The response document is sent through the same HTTP connection that is established by the request document.

cXML document types

A cXML document can be one of three types: Request, Response, or Message.

Request

There are many types of cXML requests. The request element within the cXML document corresponds to the document flow definition in Business Integration Connect. Typical request elements are:

The following table shows the relationship between the elements in a cXML request document and document flow definitions within Business Integration Connect:

cXML element Document flow definition
cXML DOCTYPE Protocol
DTD version Protocol version
Request (type)
For example, OrderRequest
Document flow

Response

The target participant sends a cXML response to inform the source participant of the results of the cXML request. Because the results of some requests might not have any data, the Response element can optionally contain nothing but a Status element. A Response element can also contain any application-level data. During PunchOut, for example, the application-level data is contained in a PunchOutSetupResponse element. The typical Response elements are:

The following table shows the relationship between the elements in a cXML request document and document flow definitions within Business Integration Connect:

cXML element Document flow definition
cXML DOCTYPE Protocol
DTD version Protocol version
Request (type) Document flow

Message

A cXML message contains the Business Integration Connect document flow information in the cXML message element. It can contain an optional status element identical to that found in a Response element. It would be used in messages that are responses to request messages.

The content of the message is custom defined by the business needs of the user. The element directly below the <Message> element corresponds to the document flow created in Business Integration Connect. In the example below, SubscriptionChangeMessage would be the document flow:

<Message>
<SubscriptionChangeMessage type="new">
           <Subscription>
                <InternalID>1234</InternalID>
                <Name xml:lang="en-US">Q2 Prices</Name>
                <Changetime>1999-03-12T18:39:09-08:00</Changetime>
                <SupplierID domain="DUNS">942888711</SupplierID>
                <Format version="2.1">CIF</Format>
            </Subscription>
</SubscriptionChangeMessage>
</Message>

The following table shows the relationship between the elements in a cXML message and the document flow definitions within Business Integration Connect:

cXML element Document flow definition
cXML DOCTYPE Protocol
DTD version Protocol version
Message Document flow

The easiest way to tell the difference between a one-way message and a Request-Response document is the presence of a message element instead of a request or response element.

A message can have the following attributes:

Content-type headers and attached documents

All cXML documents must contain a Content-type header. For cXML documents without attachments, the following Content-type headers are used:

The cXML protocol supports attachment of external files through MIME. For example, buyers often need to clarify purchase orders with supporting memos, drawings, or faxes. One of the Content-type headers listed below must be used in cXML documents that contain attachments:

The boundary element is any unique text that is used to separate the body from the payload portion of the MIME message. Please refer to the cXML User Guide at www.cxml.org for more information.

Valid cXML interactions

Business Integration Connect supports the following cXML document flow definition interactions:

Source Target Source Package Target Package Source Protocol Target Protocol Pass Through Validation Translation

Particpant

Manager

None

None

cXML

cXML

x

x

Manager

Participant

None

None

cXML

cXML

x

x

Manager

Participant

None

XML

cXML

x

x

x

Copyright IBM Corp. 2003, 2004