本節提供 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 元素。
<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 文件中的 Request 元素會對應至 WebSphere Partner Gateway 中的文件流程。典型的 Request 元素如下:
下表顯示 cXML 要求文件中之元素和 WebSphere Partner Gateway 中之文件流程定義間的關係:
目標參與者會傳送 cXML 回應,以將 cXML 要求結果通知來源參與者。 由於某些要求結果可能沒有任何資料, Response 元素中可選擇性地只包含一個 Status 元素 (其他都不含)。Response 元素也可以包含任何應用程式層次的資料。舉例來說, 在 PunchOut 期間,將應用程式層次資料放在 PunchOutSetupResponse 元素中。典型的 Response 元素如下:
下表顯示 cXML 回應文件中之元素和 WebSphere Partner Gateway 中之文件流程定義間的關係:
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 中之文件流程定義間的關係:
單向訊息和「要求-回應」文件間最簡單的區分方法是提供 Message 元素, 而非提供 Request 或 Response 元素。
訊息可有下列屬性:
所有 cXML 文件皆必須含有一個 Content-type 標頭。 如 cXML 文件不含附件,則使用如下的 Content-type 標頭:
cXML 通訊協定支援經由 MIME 附加外部檔案。舉例來說, 買方經常需要使用支援的備忘錄、繪圖或傳真來闡述採購單。在內含附件的 cXML 文件中, 必須使用如下的一個 Content-type 標頭:
boundary 元素為任何的唯一文字, 用以將 MIME 訊息中的主體和承載內容部分區隔開來。 如需相關資訊,請參閱 www.cxml.org 中的 cXML User Guide。
WebSphere Partner Gateway 支援如下的 cXML 文件流程定義互動:
<cXML> <Response> <Status code="200" text="OK"/> </Response> </cXML> <cXML> <Response> <Status code="200" text="OK"/> <ProfileResponse> </Response> </cXML>
版本號碼僅供參考用。實際的通訊協定版本是從 cXML 文件中的 DTD 版本衍生而來。
若要建立互動,請使用下列程序。