Dieser Abschnitt enthält eine Übersicht über die cXML-Unterstützung und Informationen dazu, wie Sie Dokumentenflussdefinitionen für cXML-Austauschvorgänge erstellen.
WebSphere Partner Gateway Document Manager gibt ein cXML-Dokument durch den Stammelementnamen des XML-Dokuments, der cXML lautet, und die Version an, die mit dem cXML-DOCTYPE (DTD) angegeben wird. Der folgende DOCTYPE ist z. B. cXML-Version 1.2.009:
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.009/cXML.dtd">
Document Manager führt die DTD-Validierung für cXML-Dokumente aus; WebSphere Partner Gateway stellt jedoch keine cXML-DTDs bereit. Sie können diese unter www.cxml.org herunterladen, und sie dann in WebSphere Partner Gateway über das Validierungszuordnungsmodul in Community Console hochladen. Nachdem Sie die DTD hochgeladen haben, ordnen Sie diese dem cXML-Dokumentenfluss zu. Weitere Informationen zum Zuordnen der DTD zum cXML-Dokumentenfluss finden Sie in Zuordnungen zu Dokumentenflussdefinitionen zuordnen.
Document Manager verwendet zwei Attribute des cXML-Rootelements für die Dokumentverwaltung: payloadID und timestamp. payloadID und timestamp werden als Dokument-ID-Nummer und Dokumentzeitmarke verwendet. Beide können in Community Console für die Dokumentverwaltung angezeigt werden.
Die Elemente From und To im cXML-Header enthalten das Element Credential, das für die Dokumentweiterleitung und -authentifizierung verwendet wird. Das Beispiel stellt die Elemente From und To als die Quelle und das Ziel des cXML-Dokuments dar.
<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>
Wenn mehr als ein Element Credential verwendet wird, verwendet Document Manager die DUNS-Nummer als Geschäftskennung für die Weiterleitung und Authentifizierung. In dem Fall, wenn keine DUNS-Nummer vorgegeben ist, wird das erste Element Credential verwendet.
WebSphere Partner Gateway verwendet nicht die Informationen im Absenderelement.
Bei einer synchronen Transaktion wird der Header From und To in einem cXML-Antwortdokument nicht verwendet. Das Antwortdokument wird über dieselbe HTTP-Verbindung gesendet, die vom Anforderungsdokument hergestellt wurde.
Es gibt die folgenden drei cXML-Dokumenttypen: Anforderung, Antwort oder Nachricht.
Es gibt viele Typen von cXML-Anforderungen. Das Element Request im cXML-Dokument entspricht der Dokumentenflussdefinition in WebSphere Partner Gateway. Typische Anforderungselemente:
Die folgende Tabelle zeigt die Beziehung zwischen den Elementen in einem cXML-Anforderungsdokument und den Dokumentenflussdefinitionen in WebSphere Partner Gateway:
Der Zielteilnehmer sendet eine cXML-Antwort, um den Quellenteilnehmer über die Ergebnisse der cXML-Anforderung zu informieren. Da die Ergebnisse einiger Anforderungen unter Umständen über keine Daten verfügen, kann das Element Response optional nichts außer einem Element Status enthalten. Ein Element Response kann auch Daten der Anwendungsebene enthalten. Während Punchout sind z. B. die Daten der Anwendungsebene in einem Element PunchOutSetupResponse enthalten. Zu den typischen Elementen Response gehören:
Die folgende Tabelle zeigt die Beziehung zwischen den Elementen in einem cXML-Antwortdokument und den Dokumentenflussdefinitionen in WebSphere Partner Gateway:
Eine cXML-Nachricht enthält die WebSphere Partner Gateway-Dokumentenflussinformation im cXML-Element Message. Es kann optional ein Element Status enthalten, das mit dem im Element Response identisch ist. Es würde in Nachrichten verwendet, die Antworten auf Anforderungsnachrichten sind.
Der Inhalt der Nachricht ist durch die Geschäftsanforderungen der Benutzer kundenspezifisch. Das Element direkt unterhalb dem Element <Message> entspricht dem Dokumentenfluss, der in WebSphere Partner Gateway erstellt wurde.Im folgenden Beispiel ist SubscriptionChangeMessage der Dokumentenfluss:
<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>
Die folgende Tabelle zeigt die Beziehung zwischen den Elementen in einer cXML-Nachricht und den Dokumentenflussdefinitionen in WebSphere Partner Gateway:
Sie können den Unterschied zwischen einer Einwegnachricht und einem Anforderungs-/Antwortdokument am einfachsten dadurch feststellen, ob ein Element Message anstelle eines Anforderungs- oder Antwortelements vorhanden ist.
Eine Nachricht kann über die folgenden Attribute verfügen:
Alle cXML-Dokumente müssen einen Header Content-Type enthalten. Für cXML-Dokumente ohne Anhänge werden die folgenden Header Content-Type verwendet:
Das cXML-Protokoll unterstützt das Anhängen von externen Dateien über MIME. Käufer müssen z. B. oft die Bestellungen mit unterstützenden Kurzinformationen, Zeichnungen oder per Fax verdeutlichen. Einer der Header Content-Type, die unten in der Liste gezeigt werden, muss in cXML-Dokumenten verwendet werden, die Anhänge enthalten:
Das Element boundary ist ein beliebiger eindeutiger Text, der den Hauptteil vom payload-Abschnitt (Nutzinformationen) der MIME-Nachricht trennt. Weitere Informationen finden Sie im cXML User Guide unter www.cxml.org.
WebSphere Partner Gateway unterstützt die folgenden cXML-Dokumentenflussdefinitionsinteraktionen:
Verwenden Sie den folgenden Prozess, um eine neue Dokumentenflussdefinition für ein cXML-Dokument zu erstellen.
<cXML> <Response> <Status code="200" text="OK"/> </Response> </cXML> <cXML> <Response> <Status code="200" text="OK"/> <ProfileResponse> </Response> </cXML>
Die Versionsnummer dient nur zu Referenzzwecken. Die tatsächliche Protokollversion wird von der DTD-Version im cXML-Dokument abgeleitet.
Nachdem Sie die Dokumentenflussdefinition erstellt haben, konfigurieren Sie eine Interaktion für das cXML-Dokument.
Verwenden Sie die folgende Prozedur, um Interaktionen zu erstellen.