連接器商業物件結構

連接器可以處理下列商業物件:

同步事件處理程序 TLO

在事件處理方面,連接器允許兩種 TLO -- 同步與非同步。 本節討論同步事件處理 TLO。

圖 4 顯示同步事件處理的商業物件階層。 要求和回應物件為必要的,錯誤物件為選用性。

圖 4. 同步事件處理的商業物件階層


TLO 包含物件層次 ASI 及屬性層次 ASI 的屬性。以下討論這兩種 ASI。

同步事件處理程序 TLO 的物件層次 ASI

關於 TLO 及所含物件的本質,物件層次 ASI 提供基本的資訊。 圖 5 顯示同步事件處理 TLO 範例 SERVICE_SYNCH_OrderStatus 的物件層次 ASI。

圖 5. 同步事件處理的最上層商業物件


下列表 4 說明同步事件處理 TLO 的物件層次 ASI。

表 4. 同步事件處理程序 TLO 物件 ASI
物件層次 ASI 說明
ws_eventtlo=true

若此 ASI 內容設為 true,連接器會將物件視為可以處理事件的 TLO。

ws_collab=collabname

此 ASI 告訴連接器要呼叫哪個協同作業。 值為協同作業的名稱。圖 5 顯示的範例中, 協同作業名稱為 SERVICE_SYNCH_OrderStatus_Collab

ws_verb=verb

將 TLO 傳遞至協同作業之前,連接器會使用此 ASI 在 TLO 上設定動詞。 圖 5 顯示的範例中,動詞為 Retrieve。

ws_mode=synch

在事件通知期間,連接器使用此 ASI 內容來決定要同步 (synch) 或非同步 (asynch) 呼叫協同作業。 若為同步處理,此 ASI 必須設為 synch

預設值為 asynch

同步事件處理程序 TLO 的屬性層次 ASI

每一個同步事件處理程序 TLO 都有屬性及屬性層次 ASI。 圖 6 顯示 TLO 範例 SERVICE_SYNCH_OrderStatus 的屬性。 在 App Spec Info 直欄中也顯示屬性層次 ASI。

圖 6. 同步事件處理程序的 TLO 屬性


表 5 針對同步事件處理 TLO 的 Request、Response、Fault、MimeType 及 Charset 屬性,摘要說明其屬性層次 ASI。

表 5. 同步事件處理程序 TLO 屬性 ASI
TLO 屬性 屬性層次 ASI 說明
MimeType
選用的屬性;若指定,則同步回應所呼叫的資料處理常式會使用此值作為 MIME 類型。
Charset
將外送商業物件轉換成訊息時,這個 String 類型的選用性參數可以指定要在資料處理常式上設定的字集。 附註:此屬性中指定的 charset 值,不會透過回應訊息的 Content-Type 通訊協定標頭來傳送。

Request

ws_botype=request

此屬性對應於 HTTP 服務要求。 連接器會使用此 ASI 來判斷此 TLO 屬性是否為要求 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若有多個要求屬性,連接器會使用第一個屬性的 ASI。

同步事件處理程序 TLO 需要此屬性。

Response

ws_botype=response

此屬性對應於 HTTP 服務傳回的回應。 連接器會使用此 ASI 來判斷此 TLO 屬性是否為回應 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若有多個回應屬性,連接器會使用第一個屬性的 ASI。

同步事件處理程序 TLO 需要此屬性。

Fault ws_botype=fault
ws_botype=defaultfault

此屬性 (同步事件處理選用的屬性) 對應於協同作業無法順利填入回應時所傳回的錯誤訊息。 連接器會使用此 ASI (不是屬性名稱) 來判斷屬性是否為 Fault BO 類型。

同步事件處理程序的「要求」商業物件

「要求」商業物件為 TLO 的子項,且為同步事件處理的必要項目。 「要求」商業物件有物件層次 ASI。 表 6 說明同步事件處理的「要求」商業物件的物件層次 ASI。 您可以為「要求」商業物件指定預設的動詞。 作法是指定:

DefaultVerb=true;
 

在最上層「要求」商業物件的「支援動詞」清單中,於動詞的 ASI 欄位中指定。 若未指定 DefaultVerb ASI,且資料處理常式所處理的商業物件未設定動詞, 則傳回的商業物件沒有動詞。

表 6. 同步事件處理:「要求」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 ASI 指定 HTTP 或 HTTPS 通訊協定接聽器。 此 ASI 和 Protocol Config MO 皆為選用性。 如需進一步資訊,請參閱Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。
ws_tloname=tloname 此 ASI 指定這個物件所屬的 TLO 名稱。 在事件處理期間,連接器會使用此 ASI 來判斷資料處理常式傳送的「要求」商業物件是否為 TLO 的子項。 若確定是子項,連接器會建立指定的 TLO、設定「要求」商業物件為子項, 然後使用 TLO 物件層次 ASI 來傳遞給訂閱的協同作業。

同步事件處理程序的「回應」商業物件

「回應」商業物件為 TLO 的子項,且為同步事件處理的必要項目。 表 7 說明同步事件處理的「回應」商業物件的物件層次 ASI。

表 7. 同步事件處理:「回應」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 ASI 指定 HTTP 或 HTTPS 通訊協定接聽器。 此 ASI 和 Protocol Config MO 皆為選用性。 如需進一步資訊,請參閱Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

註:
您可以選擇在回應 BO 中併入 Protocol Config MO 物件層次 ASI。

同步事件處理程序的「錯誤」商業物件

「錯誤」商業物件為 TLO 的子項,只為同步事件處理的選用項目。 表 8 說明同步事件處理的「錯誤」商業物件的物件層次 ASI。

表 8. 同步事件處理:「錯誤」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 ASI 指定 HTTP 或 HTTPS 通訊協定接聽器。 此 ASI 和 Protocol Config MO 皆為選用性。 如需進一步資訊,請參閱Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

註:
您可以選擇在錯誤 BO 中併入 Protocol Config MO 物件層次 ASI。

Protocol Config MO

在事件處理程序的要求、回應或錯誤商業物件中,可以選擇併入 Protocol Config MO 當作子項。 通常是在需要讀取 (從要求訊息) 或傳送 (至回應或錯誤訊息) 通訊協定標頭及自訂內容時指定。 根據以上的說明,「要求」商業物件可以選擇是否宣告 Protocol Config MO 的名稱當作商業物件層次 ASI:

在事件處理期間,連接器會 使用通訊協定接聽器 (HTTP 或 HTTPS) 來擷取傳輸上的事件。 這些事件來自於內部或外部要求協同作業服務的用戶端。 每一個傳輸有各自的標頭需求。 連接器會利用 Protocol Config MO,將通訊協定特有的標頭資訊從通訊協定接聽器傳送至協同作業。 Protocol Config MO 屬性對應於入埠訊息中的標頭。 連接器會採用入埠訊息內容,在商業物件中設定這些屬性的值。

若為 HTTP(S) 通訊協定,Protocol Config MO 屬性如下:

表 9. 事件處理的 HTTP/HTTPS Protocol Config MO 屬性
屬性 必要的 類型 說明
Content-Type String 此屬性的值定義外送訊息的 Content-Type 標頭 (包括訊息 ContentType 及外送訊息的零個或更多參數 -- charset)。 語法同於 HTTP 通訊協定中 Content-Type 標頭的語法, 例如:text/xml; charset=ISO-8859-4。 若未定義 Content-Type 屬性,連接器會採用要求的 ContentType 作為回應/錯誤訊息的 ContentType。
UserDefinedProperties 商業物件 此屬性存放使用者定義的通訊協定內容商業物件。
一或多個 HTTP 標頭 String 此屬性可讓處理常式傳遞或擷取指定的 HTTP 標頭的值。
Authorization_UserId String 此屬性對應於 HTTP 基本鑑別的使用者 ID。
Authorization_Password String 此屬性對應於 HTTP 基本鑑別的密碼。

這些屬性說明於:

如需通訊協定接聽器的進一步資訊,請參閱通訊協定接聽器。 (如需要求處理的 Protocol Config MO 的相關資訊,請參閱同步要求處理程序 TLO)。

事件處理程序的使用者定義內容

您可以選擇在 HTTP(S) Protocol Config MO 中指定自訂內容。 作法是加入 UserDefinedProperties 屬性。 此屬性對應於一個商業物件,此商業物件有一或多個子項屬性含有內容值。 此商業物件的每一個屬性必須定義單一內容, 藉此在訊息標頭的變數部份中讀取 (或是寫入,若為同步回應),如下所示:

表 10 彙總這些屬性的應用程式特有資訊。

表 10. 使用者定義通訊協定內容屬性的應用程式特有資訊:「名稱=值」配對內容
名稱 說明
ws_prop_name (不區分大小寫;若不指定,則採用屬性名稱作為內容名稱) 任何有效的通訊協定內容名稱 此為通訊協定內容的名稱。部分供應商會保留某些內容來提供延伸的功能。

若給定的自訂內容 ASI (ws_prop_name) 無效, 且無法以任何符合邏輯的方式來處理此標頭,連接器會記載警告並忽略此內容。 對於 ws_prop_name 執行必要的檢查之後,若無法設定也無法擷取自訂內容的值, 連接器會記載錯誤,並且讓事件失敗。

若指定 UserDefinedProperties 屬性,連接器會建立 UserDefinedProperties 商業物件的實例。 然後,連接器會試圖從訊息中擷取內容值,再儲存在商業物件中。 若至少順利擷取一個內容值,連接器會在 Protocol Config MO 中設定已修改的 UserDefinedProperties 屬性。

在同步事件處理方面,若已指定 UserDefinedProperties 屬性,且已設定商業物件的實例, 連接器會處理這個子項商業物件的每一個屬性,並且適當地設定訊息內容值。

事件處理程序的 HTTP 認證傳達

基於傳達認證的目的,連接器在 HTTP Protocol Config MO 中支援 Authorization_UserId 和 Authorization_Password 屬性。 這項支援限制在 HTTP Basic 鑑別方法中傳達這些認證。

若 HTTP 或 HTTPS 通訊協定接聽器處理的 HTTP 服務要求含有授權標頭, 接聽器會剖析標頭來判斷是否符合 HTTP Basic 鑑別。 若符合,接聽器會擷取和解碼 (採用 Base64) 使用者名稱及密碼。 此解碼字串由冒號隔開的使用者名稱和密碼組成。 若通訊協定接聽器在 Protocol Config MO 中找到 Authorization_UserId 和 Authorization_Password 屬性, 接聽器會採用從事件授權標頭中擷取的值來設定這些值。

非同步事件處理程序 TLO

圖 7 顯示非同步事件處理的商業物件階層。 只需要一個要求物件。

圖 7. 非同步事件處理的商業物件階層


TLO 包含物件層次 ASI 及屬性層次 ASI 的屬性。以下討論這兩種 ASI。

非同步事件處理程序 TLO 的物件層次 ASI

關於 TLO 及所含物件的本質,物件層次 ASI 提供基本的資訊。 圖 8 顯示非同步事件處理 TLO 範例 SERVICE_ASYNCH_TLO_Order 的物件層次 ASI。

圖 8. 非同步事件處理的最上層商業物件


下列表 4 說明非同步事件處理 TLO 的物件層次 ASI。

表 11. 非同步事件處理 TLO 物件 ASI
物件層次 ASI 說明
ws_eventtlo=true

若此 ASI 內容設為 true,連接器會將物件視為事件處理的 TLO。

ws_verb=verb

將 TLO 傳遞至協同作業之前,連接器會使用此 ASI 在 TLO 上設定動詞。 圖 8 顯示的範例中,動詞為 Create

ws_mode=asynch

在事件通知期間,連接器使用此 ASI 內容來決定要同步 (synch) 或非同步 (asynch) 呼叫協同作業。 若為非同步處理,此 ASI 必須設為 asynch

預設值為 asynch

註:
不同於同步事件處理,非同步事件處理的 TLO 層次不需要協同作業名稱 ASI。 整合分配管理系統會保證應用程式事件一定送達所有訂閱這種 BO-動詞組合的協同作業。

非同步事件處理程序 TLO 的屬性層次 ASI

每一個非同步事件處理 TLO 都有單一屬性對應於「要求」商業物件。 圖 9 顯示 TLO 範例 SERVICE_ASYNCH_TLO_Order 的要求屬性及屬性的 ASI。

圖 9. 非同步事件處理的 TLO 屬性


表 12 針對非同步事件處理 TLO 的要求屬性,摘要說明其屬性層次 ASI。

表 12. 非同步事件處理 TLO 屬性 ASI
TLO 屬性 屬性層次 ASI 說明

Request

ws_botype=request

此屬性對應於要求。連接器會使用此 ASI 來判斷此 TLO 屬性是否為要求 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若有多個要求屬性,連接器會使用第一個屬性的 ASI。

同步事件處理 TLO 需要此屬性。

非同步事件處理程序的「要求」商業物件

「要求」商業物件為 TLO 的子項,且為非同步事件處理的必要項目。 您可以為「要求」商業物件指定預設的動詞。 作法是指定:

DefaultVerb=true;
 

在最上層「要求」商業物件的「支援動詞」清單中,於動詞的 ASI 欄位中指定。 若未指定 DefaultVerb ASI,且資料處理常式所處理的商業物件未設定動詞, 則傳回的商業物件沒有動詞。 表 13 說明非同步事件處理的「要求」商業物件的物件層次 ASI。

表 13. 非同步事件處理:「要求」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 ASI 指定 HTTP 或 HTTPS 通訊協定接聽器。 此 ASI 和 Protocol Config MO 皆為選用性。 如需進一步資訊,請參閱Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。
ws_tloname=tloname 此 ASI 指定這個物件所屬的 TLO 名稱。 在事件處理期間,連接器會使用此 ASI 來判斷資料處理常式傳送的「要求」商業物件是否為 TLO 的子項。 若確定是子項,連接器會建立指定的 TLO、設定「要求」商業物件為子項, 然後使用 TLO 物件層次 ASI 來傳遞給訂閱的協同作業。

同步要求處理程序 TLO

在要求處理方面,連接器允許兩種 TLO -- 同步與非同步。 本節討論同步要求處理 TLO。

圖 10 顯示同步要求處理的 TLO 商業物件階層。 要求、回應及處理常式物件為必要的,錯誤物件為選用性。 不同於事件處理,要求物件需要 Protocol Config MO,但對於回應和錯誤物件,Protocol Config MO 為選用性。

圖 10. 同步要求處理的商業物件階層


同步要求處理程序 TLO 的物件層次 ASI

關於 TLO 及所含物件的本質,物件層次 ASI 提供重要的資訊。 圖 11 顯示同步要求處理 TLO 範例 CLIENT_SYNCH_TLO_OrderStatus。

圖 11. 同步要求處理的最上層商業物件


表 14 說明同步要求處理 TLO 的物件層次 ASI。 不同於同步事件處理 TLO 的 ASI, 此層次的要求處理不需要 ws_collabws_verbws_eventtlo ASI。

表 14. 同步要求處理 TLO 物件 ASI
物件層次 ASI 說明
ws_mode=synch

在要求處理期間,連接器使用此 ASI 內容來決定要同步 (synch) 或非同步 (asynch) 呼叫 HTTP 服務。 若指出 synch,連接器會預期回應, 且 TLO 必須包含「要求」和「回應」商業物件,可能還包含一或多個錯誤物件。

預設值為 asynch

同步要求處理程序 TLO 的屬性層次 ASI

表 15 說明同步要求處理 TLO 的屬性及 ASI。

表 15. 要求處理 TLO 屬性
TLO 屬性 屬性層次 ASI 說明
MimeType

此屬性指定資料處理常式的 MIME 類型,連接器會呼叫此處理常式將「要求」商業物件轉換成要求訊息。 此值可能用於將同步回應/錯誤訊息轉換成商業物件,視「訊息轉換規則」配置而定。

BOPrefix String 類型屬性會傳遞給資料處理常式。
Handler 此屬性指定用來處理要求的通訊協定處理常式,僅適用於要求處理。 它採用 http 值來指定 HTTP-HTTPS 通訊協定處理常式。 預設值為 http
Charset
將「要求」商業物件轉換成訊息時,這個 String 類型的選用性參數可以指定要在資料處理常式上設定的字集。 附註:此屬性中指定的 charset 值,不會透過要求訊息的 Content-Type 通訊協定標頭來傳送。

Request

ws_botype=request

此屬性對應於「要求」商業物件。 連接器會使用此屬性 ASI 來判斷此 TLO 屬性是否為要求 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若有多個要求屬性,連接器會使用第一個填寫屬性的 ASI。

Response

ws_botype=response

此屬性對應於傳回至協同作業的回應,且為同步要求處理所必要的。 連接器會使用此屬性 ASI 來判斷此 TLO 屬性是否為回應 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。

Fault

ws_botype=fault

ws_botype=defaultfault
此屬性 (同步要求處理選用的屬性) 對應於 HTTP 服務無法順利填入回應時所傳回的錯誤訊息。

連接器會使用此 ASI 來判斷 TLO 的屬性是否為錯誤 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若錯誤訊息是詳細的元素,則傳回 defaultfault 商業物件。 defaultfault 用於預設的商業物件解決方案。

同步要求處理程序的「要求」商業物件

「要求」商業物件為 TLO 的子項,且為同步要求處理的必要項目。 「要求」商業物件有物件層次 ASI。

表 16 說明同步要求處理的「要求」商業物件的物件層次 ASI。


表 16. 同步要求處理:「要求」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此選用性 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 Protocol Config MO 指定 HTTP-HTTPS 通訊協定處理常式的目的地。 「HTTP-HTTPS 通訊協定處理常式」會使用此 ASI。 請注意,TLO 要求屬性必須有 HTTP Protocol Config MO 來處理要求。 如需進一步資訊,請參閱要求處理程序的 HTTP Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

同步要求處理程序的「回應」商業物件

「回應」商業物件為 TLO 的子項,且為同步要求處理的必要項目。 表 17 說明同步要求處理的「回應」商業物件的物件層次 ASI。

表 17. 同步要求處理:「回應」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 「回應」商業物件的這個選用性 Protocol Config MO,可以在 HTTP(s) 通訊協定處理常式的回應訊息中指定標頭。 如需進一步資訊,請參閱要求處理程序的 HTTP Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

您可以為「回應」商業物件指定預設的動詞。 作法是指定:

DefaultVerb=true;
 

在最上層「回應」商業物件的「支援動詞」清單中,於動詞的 ASI 欄位中指定。 若未指定 DefaultVerb ASI,且資料處理常式所處理的商業物件未設定動詞, 則傳回的「回應」商業物件沒有動詞。

同步要求處理程序的「錯誤」商業物件

「錯誤」商業物件為 TLO 的子項,只為同步要求處理的選用項目。 表 8 說明同步要求處理的「錯誤」商業物件的物件層次 ASI。

表 18. 同步要求處理:「錯誤」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 「錯誤」商業物件的這個選用性 Protocol Config MO,可以在 HTTP-HTTPS 通訊協定處理常式的回應訊息中指定標頭。 如需進一步資訊,請參閱Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

要求處理程序的 HTTP Protocol Config MO

在要求處理期間,HTTP-HTTPS 通訊協定處理常式會利用 HTTP Protocol Config MO 來決定目標 HTTP 服務的目的地。 「要求」商業物件需要此 Protocol Config MO。 HTTP-HTTPS 通訊協定處理常式僅支援 HTTP 1.0 POST 要求。 如表 19 所示, 唯一需要的屬性 (Destination) 是目標 HTTP 服務的完整 URL。 以下幾節說明選用的授權屬性。

表 19. 要求處理的 HTTP Protocol Config MO 屬性
屬性 必要的 Type 說明
Destination String 目標 HTTP 服務的目的地 URL。HTTP-HTTPS 通訊協定處理常式利用此屬性來決定 HTTP 服務的目的地。
Content-Type 對於「要求」商業物件而言為必要的,否則為選用性。 String 此屬性的值定義外送訊息的 Content-Type 標頭 (包括訊息 ContentType 及外送訊息的 charset)。 語法同於 HTTP 通訊協定中 Content-Type 標頭的語法, 例如:text/xml; charset=ISO-8859-4
Authorization_UserId String 此屬性對應於 HTTP 基本鑑別的使用者 ID。如需進一步資訊,請參閱要求處理程序的 HTTP 認證傳達
Authorization_Password String 此屬性對應於 HTTP 基本鑑別的密碼。 如需進一步資訊,請參閱要求處理程序的 HTTP 認證傳達
一或多個 HTTP 標頭 String 此屬性可讓處理常式傳遞或擷取指定的 HTTP 標頭的值。
UserDefinedProperties 商業物件 此屬性存放使用者定義的通訊協定內容商業物件。如需進一步資訊,請參閱要求處理程序的使用者定義內容
MessageTransformationMap 單一基數商業物件 此屬性指向含有零個或更多訊息轉換規則的商業物件。 針對規則中指定的送入訊息上要套用的 MIME 類型及 charset,規則存放相關的資訊。 如需進一步資訊,請參閱訊息轉換對映

HTTP Protocol Config MO 屬性說明於:

要求處理程序的使用者定義內容

您可以選擇在 HTTP Protocol Config MO 中指定自訂內容。 作法是加入 UserDefinedProperties 屬性。 此屬性對應於一個商業物件,此商業物件有一或多個子項屬性含有內容值。 此商業物件的每一個屬性必須定義單一內容, 藉此在訊息標頭的變數部份中讀取 (或是寫入,若為同步回應),如下所示:

表 20 摘要說明這些屬性的應用程式特有資訊。

表 20. 使用者定義通訊協定內容屬性的應用程式特有資訊:「名稱=值」配對內容
名稱 說明
ws_prop_name (不區分大小寫;若不指定,則採用屬性名稱作為內容名稱) 任何有效的通訊協定內容名稱 此為通訊協定內容的名稱。部分供應商會保留某些內容來提供延伸的功能。

若給定的自訂內容 ASI (ws_prop_name) 無效, 且無法以任何符合邏輯的方式來處理此標頭,連接器會記載警告並忽略此內容。 對於 ws_prop_name 執行必要的檢查之後,若無法設定也無法擷取自訂內容的值, 連接器會記載錯誤,並且讓事件失敗。

若已指定 UserDefinedProperties 屬性,且已設定商業物件的實例, 連接器會處理這個子項商業物件的每一個屬性,並且適當地設定訊息內容值。

若為同步要求處理,則在收到回應訊息時,若已指定 UserDefinedProperties 屬性, 連接器會建立 UserDefinedProperties 商業物件的實例, 並且試圖從訊息中擷取內容值,再儲存於新的商業物件中。 若至少順利擷取一個內容值,連接器會在 Protocol Config MO 中設定已修改的 UserDefinedProperties 商業物件。

訊息轉換對映

僅要求處理 HTTP(S) 通訊協定處理常式支援「訊息轉換對映 (MTM)」功能。 MessageTransformationMap 為 Protocol Config MO 的選用性屬性,指向一個商業物件。 此商業物件包含訊息的轉換規則,且規則中已指定這些訊息的 MIME 類型和 charset。 若找到 (區分大小寫) 屬性名稱 MessageTransformationMap, 且此屬性為商業物件類型,連接器會採用此物件的規則來轉換訊息。

MTM 屬性必須有一個基數 N 子項商業物件屬性的名稱為 TransformationRule。 嘗試尋找訊息的 TransformationRule 時, 首先,HTTP-HTTPS 通訊協定處理常式會試圖以所有 TransFormationRule 中指定的 ContentType 來比對完全相符的訊息。 如果成功,連接器再試圖尋找適用於多種訊息的規則。 如需通訊協定處理常式處理的進一步資訊,請參閱HTTP-HTTPS 通訊協定處理常式處理程序

TransformationRule 商業物件的每一個實例,必須指定表 21 顯示的屬性。

表 21. HTTP Protocol Config MO 中 MessageTransformationMap 的 TransformationRule 屬性
屬性名稱 必要的 Type 預設值 說明
TransformationRule 商業物件,基數 N
此屬性存放訊息轉換的 1 個規則。 在 MessageTranformationMap 屬性底下,此屬性可能有零個或更多個實例。
+ContentType String */* 這個內容的值指定套用此轉換規則的訊息的 HTTP ContentType。 此屬性的預設值 */*,可讓連接器在任何 ContentType 上套用此規則。 如需通訊協定處理常式處理的進一步資訊,請參閱HTTP-HTTPS 通訊協定處理常式處理程序。 請注意,若「通訊協定處理常式」發現有多個規則的 ContentType 相同, 「通訊協定處理常式」會記載警告,並且忽略所有重複的規則,但會使用唯一的規則。
+MimeType

在處理此商業物件所指定的 ContentType 訊息期間,呼叫資料處理常式時所用的 MIME 類型。
+Charset

轉換此商業物件所指定的 ContentType 的要求時所用的 charset。

要求處理程序的 HTTP 認證傳達

基於傳達認證的目的,連接器在 HTTP Protocol Config MO 中支援 Authorization_UserId 和 Authorization_Password 屬性。 這項支援限制在 HTTP Basic 鑑別方法中傳達這些認證。

協同作業會在 Protocol Config MO 中設定 Authorization_UserId 和 Authorization_Password 屬性的值。 若這些屬性都不是空值或空白,連接器會在傳送給目標 HTTP 服務的要求上建立授權標頭。 HTTP/HTTPS 通訊協定處理常式在建立授權標頭時遵循 HTTP Authentication: Basic and Digest Access Authentication (RFC 2617)

註:
不支援摘要鑑別方法,此方法也不是 Rfc2617 中定義的 HTTP 鑑別的選用性盤查-回應機制。 若 HTTP(s) 通訊協定處理常式呼叫的伺服器需要認證,連接器不會等待伺服器的盤查回應。 反而會繼續傳送認證。

非同步要求處理程序 TLO

圖 12 顯示非同步要求處理的商業物件階層。 需要一個要求物件和處理常式物件。 要求物件包含 HTTP-HTTPS 通訊協定處理常式的 Protocol Config MO。 下節會繼續說明。

圖 12. 非同步要求處理的商業物件階層


TLO 包含物件層次 ASI 及屬性層次 ASI 的屬性。以下討論這兩種 ASI。

非同步事件處理程序 TLO 的物件層次 ASI

圖 13 顯示非同步要求處理 TLO 範例 CLIENT_ASYNCH_Order_TLO。

圖 13. 非同步要求處理的最上層商業物件


下列表 22 說明非同步要求處理 TLO 的物件層次 ASI。

表 22. 非同步要求處理 TLO 物件 ASI
物件層次 ASI 說明
ws_mode=asynch

在要求處理期間,連接器使用此 ASI 內容來決定要同步 (synch) 或非同步 (asynch) 呼叫協同作業。 若為非同步要求處理,此 ASI 必須設為 asynch

預設值為 asynch

非同步要求處理程序 TLO 的屬性層次 ASI

表 23 針對非同步要求處理 TLO 的要求屬性,摘要說明其屬性層次 ASI。

表 23. 非同步要求處理 TLO 屬性
TLO 屬性 屬性層次 ASI 說明
MimeType

此屬性指定連接器呼叫的資料處理常式的 MIME 類型。 請注意,此屬性僅適用於要求處理。

BOPrefix 此屬性的值會傳遞到資料處理常式。
Handler 此屬性指定用來處理要求的通訊協定處理常式,僅適用於要求處理。 它採用 http 值,指定 HTTP-HTTPS 通訊協定處理常式來處理要求。 預設值為 http
Charset
將「要求」商業物件轉換成訊息時,這個 String 類型的選用性參數可以指定要在資料處理常式上設定的字集。 附註:此屬性中指定的 charset 值,不會透過要求訊息的 Content-Type 通訊協定標頭來傳送。

Request

ws_botype=request

此屬性對應於 HTTP 服務「要求」商業物件。 連接器會使用此屬性 ASI 來判斷此 TLO 屬性是否為要求 BO 的類型。 此 ASI (不是屬性名稱) 可以決定屬性類型。 若有多個要求屬性,連接器會使用第一個屬性的 ASI。

非同步要求處理程序的「要求」商業物件

「要求」商業物件為 TLO 的子項,且為非同步要求處理的必要項目。 表 24 說明非同步要求處理的「要求」商業物件的物件層次 ASI。


表 24. 非同步要求處理:「要求」商業物件的物件層次 ASI
物件層次 ASI 說明
cw_mo_http=HTTPCfgMO 此 ASI 的值必須符合對應於 Protocol Config MO 的屬性名稱。 此 Protocol Config MO 指定 HTTP-HTTPS 通訊協定處理常式的目的地。 「HTTP-HTTPS 通訊協定處理常式」會使用此 ASI。 請注意,TLO 要求屬性必須有 HTTP Protocol Config MO 來處理要求。 如需進一步資訊,請參閱要求處理程序的 HTTP Protocol Config MO。 附註:您為商業物件轉換所配置的資料處理常式, 應該能夠讀取任何以 cw_mo 開頭的 ASI 當作 Meta 資料,且這些 ASI 不屬於要轉換的商業物件。 XML 資料處理常式有能力偵測 cw_mo Meta 資料,忽略這些值指到的屬性。

非同步要求處理程序的 Protocol Config MO

在要求處理期間,HTTP-HTTPS 通訊協定處理常式會利用 HTTP Protocol Config MO 來決定目標 HTTP 服務的目的地。 「要求」商業物件需要此 Protocol Config MO。 如需進一步資訊,請參閱要求處理程序的 HTTP Protocol Config MO

Copyright IBM Corp. 1997, 2004