cXML 文件

本節提供 cXML 支援概觀,以及說明如何針對 cXML 交換建立文件流程定義。

概觀

WebSphere Partner Gateway 的「文件管理程式」是以 XML 文件的根元素名稱 cXML 來識別 cXML 文件, 以及以 cXML DOCTYPE (DTD) 來識別其版本。 舉例來說,下列的 DOCTYPE 即代表 cXML 版本 1.2.009:

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

「文件管理程式」會對 cXML 文件進行 DTD 驗證; 不過,WebSphere Partner Gateway 不提供 cXML DTD。 您可從 www.cxml.org 下載, 然後經由「社群主控台」中的「驗證對映」模組上傳到 WebSphere Partner Gateway 中。在您上傳 DTD 後, 建立它和 cXML 文件流程的關聯性。有關建立 DTD 和 cXML 文件流程之關聯性的說明, 請參閱建立對映和文件流程定義的關聯性

「文件管理程式」使用 cXML 根元素的兩個屬性來管理文件:payloadID 和 timestamp。cXML payloadID 和 timestamp 將作為文件 ID 號碼和文件時間戳記。為管理文件,這兩者皆可在「社群主控台」中檢視。

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 元素,「文件管理程式」會以 DUNS 號碼作為遞送和鑑別用的商業 ID。假設沒有提供 DUNS 號碼, 則會使用第一個 Credential。

WebSphere Partner Gateway 不使用 Sender 元素中的資訊。

在同步交易中,cXML 回應文件內不會用到 From 和 To 標頭。回應文件是經由要求文件所建的相同 HTTP 連線來傳送。

cXML 文件類型

cXML 文件可為下列三種類型之一:「要求」、「回應」或「訊息」。

要求

cXML 要求有很多種類型。 cXML 文件中的 Request 元素會對應至 WebSphere Partner Gateway 中的文件流程。典型的 Request 元素如下:

下表顯示 cXML 要求文件中之元素和 WebSphere Partner Gateway 中之文件流程定義間的關係:

cXML 元素
文件流程定義
cXML DOCTYPE
通訊協定
DTD 版本
通訊協定版本
Request(類型)
例如 OrderRequest
文件流程
回應

目標參與者會傳送 cXML 回應,以將 cXML 要求結果通知來源參與者。 由於某些要求結果可能沒有任何資料, Response 元素中可選擇性地只包含一個 Status 元素 (其他都不含)。Response 元素也可以包含任何應用程式層次的資料。舉例來說, 在 PunchOut 期間,將應用程式層次資料放在 PunchOutSetupResponse 元素中。典型的 Response 元素如下:

下表顯示 cXML 回應文件中之元素和 WebSphere Partner Gateway 中之文件流程定義間的關係:

cXML 元素
文件流程定義
cXML DOCTYPE
通訊協定
DTD 版本
通訊協定版本
Response(類型)
例如 ProfileResponse
文件流程
訊息

cXML 訊息將 WebSphere Partner Gateway 文件流程資訊放在 cXML Message 元素中。 它可包含選用的 Status 元素 (和在 Response 元素中所找到的相同)。這將用在回應要求訊息的訊息中。

訊息的內容為自訂的,是根據使用者的商業需求來定義的。<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 版本
通訊協定版本
Message
文件流程

單向訊息和「要求-回應」文件間最簡單的區分方法是提供 Message 元素, 而非提供 Request 或 Response 元素。

訊息可有下列屬性:

Content-type 標頭和附加的文件

所有 cXML 文件皆必須含有一個 Content-type 標頭。 如 cXML 文件不含附件,則使用如下的 Content-type 標頭:

cXML 通訊協定支援經由 MIME 附加外部檔案。舉例來說, 買方經常需要使用支援的備忘錄、繪圖或傳真來闡述採購單。在內含附件的 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, 並選取文件流程:<document _flow>。 如果 cXML 文件為目標,請展開資料包:無通訊協定:cXML, 並在目標直欄中選取文件流程:<document_flow>
  5. 針對另一半的互動(將轉換成 cXML 的文件,或是將轉換的 cXML 文件),展開來源或目標直欄, 並展開其資料包和通訊協定,然後選取其文件流程。
  6. 從頁面底端的動作清單中,選取直接遞送。(直接遞送是唯一支援 cXML 文件的有效選項。)

Copyright IBM Corp. 2003, 2005