このセクションでは、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 エレメントを示しています。
<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 文書は、要求、応答、またはメッセージという 3 つタイプのいずれかになります。
cXML 要求には、多くのタイプがあります。 cXML 文書内の要求エレメントは、WebSphere Partner Gateway の文書フローに対応します。標準的な要求エレメントは、以下のとおりです。
以下のテーブルは、cXML 要求文書のエレメントと WebSphere Partner Gateway 内の文書フロー定義の間の関係を示しています。
ターゲット参加者は、cXML 応答を送信して、ソース参加者に cXML 要求の結果を通知します。 一部の要求の結果にはデータがない場合があるため、応答エレメントにはオプションで状況エレメントのみを含めることができます。また、応答エレメントには、アプリケーション・レベルのデータが含まれることがあります。例えば、PunchOut 時には、PunchOutSetupResponse エレメントにアプリケーション・レベルのデータが含まれます。標準的な応答エレメントは、以下のとおりです。
以下のテーブルは、cXML 応答文書のエレメントと WebSphere Partner Gateway 内の文書フロー定義の間の関係を示しています。
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 文書には、Content-Type ヘッダーが含まれている必要があります。 添付ファイルのない cXML 文書の場合は、以下の Content-Type ヘッダーが使用されます。
cXML プロトコルは、MIME を介して、外部ファイルの添付をサポートしています。 例えば、バイヤーは、通常、対応するメモ、図面、FAX などによって仕入れ注文を明確にしなければならない場合があります。 添付ファイルを含む cXML 文書では、以下にリストした Content-Type ヘッダーのいずれかを使用する必要があります。
boundary エレメントは、MIME メッセージの本文とペイロード部分を区切るために使用される固有のテキストです。詳しくは、www.cxml.org にある「cXML User Guide」を参照してください。
WebSphere Partner Gateway では、以下の cXML 文書フロー定義の対話がサポートされています。
以下のプロセスに従って、cXML 文書の新規文書フロー定義を作成します。
<cXML> <Response> <Status code="200" text="OK"/> </Response> </cXML> <cXML> <Response> <Status code="200" text="OK"/> <ProfileResponse> </Response> </cXML>
バージョン番号は参照用です。実際のプロトコル・バージョンは、cXML 文書内の DTD バージョンから派生しています。
文書フロー定義を作成したら、cXML 文書の対話をセットアップします。
対話を作成するには、以下の手順を実行します。