連接器產生的所有錯誤訊息皆儲存於 MQSIV2Connector.txt 這個訊息檔中。 (檔案名稱由 LogFileName 標準連接器配置內容來決定。) 每一個錯誤有一個錯誤碼再接著錯誤訊息:
訊息號碼 訊息文字
連接器會處理下列幾節中說明的特定錯誤。
發生下列情況時會傳回錯誤訊息 ABON_APPRESPONSETIMEOUT:
當出現下列情況時,連接器會遞送訊息至 UnsubscribedQueue 內容指定的佇列:
當 gotApplEvent() 方法傳回 CONNECTOR_NOT_ACTIVE 代碼時,pollForEvents() 方法會傳回 APP_RESPONSE_TIMEOUT 代碼,且事件仍然留在 InProgress 佇列。
若資料處理常式無法將訊息轉換成商業物件, 或若發生商業物件 (而非 JMS 提供者) 特有的處理錯誤, 則會遞送訊息至 ErrorQueue 所指定的佇列。 若未定義 ErrorQueue,則會捨棄由於錯誤而無法處理的訊息。
若資料處理常式無法將商業物件轉換成訊息,則傳回 BON_FAIL。
如果 JMS 內容無法從訊息中讀取,或無法寫入訊息,則連接器會記載錯誤,且要求或事件會失敗。如果您不指定 ReplyToQueue 或無法存取它,則連接器會記載錯誤,且要求會失敗。 如果 CorrelationID 無效或無法設定,則連接器會記載錯誤,且要求會失敗。
在所有情況下,記載的訊息都來自連接器訊息檔。
於擷取訊息時,連接器通常會比對輸入格式與一個特定商業物件和動詞組合。 然後,連接器會將商業物件名稱和訊息內容傳送至資料處理常式。此可讓資料處理常式驗證訊息內容是否對應於使用者預期的商業物件。
然而,若為多個商業物件定義相同輸入格式, 則連接器將資料傳送到資料處理常式之前,無法判斷資料所代表的商業物件。 在此情況下,連接器僅將訊息內容傳送到資料處理常式,然後依據已產生的商業物件來查閱轉換內容。因此,資料處理常式必須僅依據訊息內容來判斷商業物件。
若未設定已產生之商業物件的動詞,則連接器會使用任何動詞來 搜尋針對這個商業物件所定義的轉換內容。 如果只找到一組轉換內容,連接器會指派指定的動詞。 如果找到多個內容,連接器會讓訊息失敗,因為無法區別動詞。