cXML 文書

このセクションでは、cXML サポートの概要を示し、cXML 交換の文書フロー定義の作成について説明します。

概要

WebSphere Partner Gateway Document Manager は、XML 文書のルート・エレメント名 cXML および cXML DOCTYPE (DTD) によって識別されるバージョンにより、cXML 文書を識別します。 例えば、以下の DOCTYPE は、cXML バージョン 1.2.009 用です。

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

Document Manager が cXML 文書に対する DTD 検証を実行しますが、WebSphere Partner Gateway は cXML DTD を提供していません。 これは、www.cxml.org からダウンロードし、Community Console の検証マップ・モジュールを使用して WebSphere Partner Gateway にアップロードすることができます。 DTD をアップロードした後に、cXML 文書フローと関連付けます。DTD の cXML 文書フローへの関連付けについて詳しくは、マップと文書フロー定義の関連付けを参照してください。

Document Manager は、文書管理のために cXML ルート・エレメントの 2 つの属性 payloadID と timestamp を使用します。cXML payloadID と timestamp は、文書 ID 番号および文書タイム・スタンプとして使用されます。いずれも文書管理用に Community Console で表示可能です。

cXML ヘッダー内の From エレメントと To エレメントには、文書のルーティングおよび認証に使用される Credential エレメントが含まれます。以下の例は、cXML 文書のソースおよび宛先としての From エレメントと To エレメントを示しています。

注: この例および本書全体を通して、DUNS 番号はすべて例として示されています。
<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>

複数の Credential エレメントが使用されている場合、Document Manager は、ルーティングおよび認証のビジネス ID として DUNS 番号を使用します。指定されている DUNS 番号がない場合は、最初の信任状が使用されます。

WebSphere Partner Gateway は、Sender エレメントの情報を使用しません。

同期トランザクションでは、cXML 応答文書に From および To ヘッダーは使用されません。 応答文書は、要求文書によって確立されたのと同じ HTTP 接続を使用して送信されます。

cXML 文書タイプ

cXML 文書は、要求、応答、またはメッセージという 3 つタイプのいずれかになります。

要求

cXML 要求には、多くのタイプがあります。 cXML 文書内の要求エレメントは、WebSphere Partner Gateway の文書フローに対応します。標準的な要求エレメントは、以下のとおりです。

以下のテーブルは、cXML 要求文書のエレメントと WebSphere Partner Gateway 内の文書フロー定義の間の関係を示しています。

cXML エレメント
文書フロー定義
cXML DOCTYPE
プロトコル
DTD バージョン
プロトコル・バージョン
要求 (タイプ)
例: OrderRequest
文書フロー
応答

ターゲット参加者は、cXML 応答を送信して、ソース参加者に cXML 要求の結果を通知します。 一部の要求の結果にはデータがない場合があるため、応答エレメントにはオプションで状況エレメントのみを含めることができます。また、応答エレメントには、アプリケーション・レベルのデータが含まれることがあります。例えば、PunchOut 時には、PunchOutSetupResponse エレメントにアプリケーション・レベルのデータが含まれます。標準的な応答エレメントは、以下のとおりです。

以下のテーブルは、cXML 応答文書のエレメントと WebSphere Partner Gateway 内の文書フロー定義の間の関係を示しています。

cXML エレメント
文書フロー定義
cXML DOCTYPE
プロトコル
DTD バージョン
プロトコル・バージョン
応答 (タイプ)
例: ProfileResponse
文書フロー
メッセージ

cXML メッセージでは、cXML メッセージ・エレメントに WebSphere Partner Gateway 文書フロー情報が含まれます。 このエレメントには、応答エレメント内にあるのと同じオプションの状況エレメントを含めることができます。 この状況エレメントは、要求メッセージへの応答となるメッセージで使用されます。

メッセージの内容は、ユーザーのビジネス・ニーズによってカスタム定義されます。 <Message> エレメントのすぐ下のエレメントは、WebSphere Partner Gateway で作成された文書フローに対応しています。以下の例の SubscriptionChangeMessage は文書フローです。

<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>

以下のテーブルは、cXML メッセージのエレメントと WebSphere Partner Gateway 内の文書フロー定義の間の関係を示しています。

cXML エレメント
文書フロー定義
cXML DOCTYPE
プロトコル
DTD バージョン
プロトコル・バージョン
メッセージ
文書フロー

片方向メッセージと要求/応答文書の違いは、簡単に言うと、要求エレメントや応答エレメントではなく、メッセージ・エレメントがあることです。

メッセージは、以下の属性を持つことができます。

Content-Type ヘッダーと添付文書

すべての cXML 文書には、Content-Type ヘッダーが含まれている必要があります。 添付ファイルのない cXML 文書の場合は、以下の Content-Type ヘッダーが使用されます。

cXML プロトコルは、MIME を介して、外部ファイルの添付をサポートしています。 例えば、バイヤーは、通常、対応するメモ、図面、FAX などによって仕入れ注文を明確にしなければならない場合があります。 添付ファイルを含む cXML 文書では、以下にリストした Content-Type ヘッダーのいずれかを使用する必要があります。

boundary エレメントは、MIME メッセージの本文とペイロード部分を区切るために使用される固有のテキストです。詳しくは、www.cxml.org にある「cXML User Guide」を参照してください。

有効な cXML 対話

WebSphere Partner Gateway では、以下の cXML 文書フロー定義の対話がサポートされています。

文書フロー定義の作成

以下のプロセスに従って、cXML 文書の新規文書フロー定義を作成します。

注: cXML 文書フロー定義を作成する前に、正しいバージョンの cXML が定義されていることを確認してください。デフォルトはバージョン 1.2.009 です。

  1. 「ハブ管理」>「ハブ構成」>「文書フロー定義」の順にクリックします。
  2. 「文書フロー定義の作成」をクリックします。「文書フロー定義の作成」ページが表示されます。
  3. 文書フロー・タイプの「文書フロー」を選択します。
  4. 文書のタイプに応じて、以下のいずれかのタスクを実行します。
  5. 「バージョン」1.0 と入力します。

    バージョン番号は参照用です。実際のプロトコル・バージョンは、cXML 文書内の DTD バージョンから派生しています。

  6. オプションの「説明」を入力します。
  7. 「文書レベル」に対して「はい」を選択します。
  8. 「状況」に対して「使用可能」を選択します。
  9. 「可視」のすべての属性に対して「はい」を選択します。
  10. 「パッケージ: なし」フォルダーをクリックして、パッケージ選択オプションを展開します。
  11. 「プロトコル: cXML (1.2.009): cXML」を選択します。
  12. 「保管」をクリックします。

対話の作成

文書フロー定義を作成したら、cXML 文書の対話をセットアップします。

対話を作成するには、以下の手順を実行します。

  1. 「ハブ管理」>「ハブ構成」>「文書フロー定義」の順にクリックします。
  2. 「対話の管理」をクリックします。
  3. 「対話の作成」をクリックします。
  4. cXML 文書がソースの場合は、「ソース」の下で 「パッケージ: なし」および「プロトコル: cXML (Protocol: cXML)」を展開し、「文書フロー: <document _flow> (Document Flow:<document _flow>)」を選択します。cXML 文書がターゲットの場合は、「パッケージ: なし」および「プロトコル: cXML (Protocol: cXML)」を展開し、「ターゲット」列で「文書フロー: <document_flow> (Document Flow: <document_flow>)」を選択します。
  5. もう半分の対話 (cXML に変換される文書または cXML から変換される文書) のソースまたはターゲット列を展開し、パッケージおよびプロトコルを展開して、文書フローを選択します。
  6. ページの下部にある「アクション」リストから、「パススルー」を選択します (「パススルー」は、cXML 文書に対してサポートされている、唯一有効なオプションです)。

Copyright IBM Corp. 2003, 2005