與其他應用程式整合 > Windchill ESI 簡介 > 整合 Windchill ESI 與 Oracle Applications > 疑難排解 > 識別其他問題
  
識別其他問題
本節將描述不符合先前分類之範疇相關的常見問題和可能的原因。下列所示為一系列常見問題的清單。您可以使用這些連結,直接找到您所經歷問題的資訊。如果在清單中找不到您所經歷的問題,或者其建議的動作無法完全解決問題,請聯絡系統管理員。
無法建立文件 (在 Oracle Applications 中找不到它)
Windchill ESI 傳回轉接器逾時的訊息
Windchill ESI 在 Oracle Applications 中已成功地建立一或多個企業物件,但卻表示失敗
Windchill PDMLink 無法訂閱 EMS 佇列
PostResult 上出現錯誤
發佈的物件沒有發佈目標指派
自上次發行過後即未發生變更
無法連接到 TIBCO BusinessWorks EMS、Windchill,或兩者都連接失敗
查看 ESI 交易記錄檔與 EAI 記錄時,若用 Windchill ESI 發行物件,則會失敗,而且錯誤訊息會顯示在已發行物件的旁邊。
回應主 - 子屬性衝突
針對 ESI 交易,TIBCO 轉接器逾時
顯示 ESI 回應中繼資訊檔案錯誤訊息
ADB Agent 在 Windows 伺服器上啟動失敗
在「企業交易記錄檔」中,發行仍保持在「待處理」狀態下
透過推進請求推進一組企業物件會導致為這裡的每一個物件建立一個 RTM 工作流程
在推進一或多個企業物件時產生的 ESI 回應檔案並不包含有關除其 ID 以外之推進請求的任何資訊
Tibco BusinessWorks Designer 會於啟動流程封存時拋出「Cannot create Transport」與「Process Definition Load」錯誤
欲配置 BusinessWorks,請遵循下列步驟:
1. 備份下列檔案:
<<TibcoHome>>/designer/<<version>>/bin/designer.tra
2. 在文字編輯器中,開啟下列檔案:
<<TibcoHome>>/designer/<<version>>/bin/designer.tra
3. 搜尋下列字串:
tibco.env.CUSTOM_CP_EXT
4. 以下列內容取代該字串:
tibco.env.CUSTOM_CP_EXT %RV_HOME%/lib/tibrvj.jar:%RV_HOME%/lib:%RV_HOME%/lib/64:
* 
路徑上可能有其他資料夾。取代字串時請保留這些項目。
5. 搜尋下列字串:
tibco.env.CUSTOM_LIB_PATH
6. 以下列內容取代該字串:
tibco.env.CUSTOM_LIB_PATH %RV_HOME%/lib:%RV_HOME%/lib/64:
* 
路徑上可能有其他資料夾。取代字串時請保留這些項目。
7. 儲存並關閉 designer.tra
8. 開啟 TIBCO Designer 並啟動流程封存。
無法建立文件 (在 Oracle Applications 中找不到它)
由於 Oracle Applications API 的限制,Windchill ESI 不支援將文件 (附件) 發行至 Oracle Applications。
Windchill ESI 傳回轉接器逾時的訊息
轉接器組態錯誤
ESITarget 無效
轉接器實例未執行
無法使用 Oracle Applications 伺服器
轉接器與 Oracle Applications 之間網路擁塞
* 
解決此問題可能需要 Windchill ESI 管理員的協助。
Windchill ESI 在 Oracle Applications 中已成功地建立一或多個企業物件,但卻表示失敗
轉接器組態錯誤
Windchill ESI 已成功地發行物件,但在等待 Oracle Applications 傳回後續記錄表格訊息時逾時
* 
解決此問題可能需要 Windchill ESI 管理員的協助
Windchill PDMLink 無法訂閱 EMS 佇列
下列原因可能會導致此問題:
Windchill ESI 服務未正確安裝
EMS 伺服器未正常運作
Windchill 應用伺服器和 EMS 伺服器之間發生網路錯誤
Windchill 轉接器 EMS 組態不正確
Windchill ESI 的偏好設定指定了一個或多個錯誤的 EMS 佇列名稱、EMS 佇列使用者,或者 EMS 佇列密碼
* 
解決此問題可能需要 Windchill ESI 管理員的協助。
PostResult 上出現錯誤
下列原因可能會導致此問題:
資料的問題是存在於正在發行的資料中
一或多個所需的 TIBCO 元件已離線
Oracle Applications 為離線
未正確配置 TIBCO Adapter for Oracle Applications
Windchill ESI 服務無法從 JMS 佇列中讀取或寫入 JMS 佇列。其原因與 Windchill PDMLink 無法訂閱 EMS 佇列相同。
Windchill PDMLink 發生資料庫錯誤
由於 Windchill ESI 中介軟體中的程式設計錯誤,PostResult RPC 要求並未正確地格式化
* 
解決此問題可能需要 Windchill ESI 管理員的協助。
發佈的物件沒有發佈目標指派
下列原因可能會導致此問題:
Windchill ESI
「發佈目標尋找工具」偏好設定設為
"com.ptc.winchill.esi.tgt.ESIRootInheritTargetFinder",使物件從
根物件繼承發佈目標指派。
該物件是 BOM 上的一個元件,並且是從父組件或 BOM 繼承發佈目標的指派。
您嘗試在指派任何發佈目標之前發佈物件
您嘗試在移除所有發佈目標指派之後發佈物件
自上次發行過後即未發生變更
下列原因可能會導致此問題:
Windchill ESI 的「檢查版序」偏好設定設為「否」,且只有正發行之物件的版序已變更。
自從上次發行過資料之後,該資料就一直沒有變更
您早已順利地將物件發行至與該物件相關聯的所有發佈目標
在將新發佈目標工作分派新增至已發行的物件之後,嘗試再次發行該物件。
無法連接到 TIBCO BusinessWorks EMS、Windchill,或兩者都連接失敗
下列原因可能會導致此問題:
EMS 伺服器配置錯誤。如果指定 EMS 伺服器的名稱為 "localhost",則只有在其執行的電腦上才會辨識出該伺服器。其他機器都無法連接到該伺服器。設定為連接到 EMS 伺服器 "localhost" 的應用程式,會嘗試尋找在同一部電腦上執行的 EMS 伺服器。如果找不到伺服器,就會出現錯誤。如果指定電腦名稱作為伺服器名稱,則其他電腦就能連接到 EMS 伺服器。
將 factories.conf 檔案中與 QueueConnectionFactory 關聯的 url 屬性設定為 tcp://<machinename>:7222
其中 <machine name> 就是執行 EMS 伺服器的電腦。
- 將全域變數 ESIJMS\JNDIContextURL (位於 BW Engine、TIBCO Designer 或 TIBCO Administrator 中,視您執行 ESI 的位置而定) 設定為 = tibjmsnaming://<machinename where the EMS server is running>:7222。
此 EMS 伺服器所在的位置並不重要。它可位於與 Windchill 相同的電腦上、與中介軟體引擎相同的電腦上,或者與這些都不相同的電腦上。只要適當地設定上述的值 (而且機器是在同一個網路上),Windchill PDMLink 與中介軟體就能連接至正確的 EMS 伺服器。
欲決定連接到 EMS 伺服器的是哪一部電腦和哪一個使用者名稱,請在 EMS 管理工具中輸入下列命令:
>show connections
此命令將會提供您有哪些使用者已連接和從哪部電腦連接的一份清單。如需詳細資訊,請參閱 TIBCO Enterprise for EMS 的文件。
查看 ESI 交易記錄檔與 EAI 記錄時,若用 Windchill ESI 發行物件,則會失敗,而且錯誤訊息會顯示在已發行物件的旁邊。
下列錯誤訊息會出現在已發行物件的旁邊:
Input Data Invalid
此錯誤指示資料尚未到達「轉接器」。呼叫轉接器活動時,「轉接器」結構描述驗證失敗。
在 Oracle Applications 中將資料傳送至轉接器之前,交叉參照了某些值 (從 ESIORALookup.properties 檔案),並將某些值設為預設 (從 ESIORADefault.properties 檔案)。若未正確配置這些屬性檔案 (例如,BOM 使用關係值為空或範本 ID 不符),則會將空資料傳遞至轉接器,而轉接器活動會發生以上例外。欲瞭解到底是哪一個元素未正確填入,「ESI 管理員」需要檢視流程引擎記錄檔;例外訊息會詳細顯示出元素名稱與驗證錯誤。
回應主 - 子屬性衝突
可將 Oracle Inventory 配置為在主組織階層或子組織階層控制某些項目屬性。如果項目是由 ESI 發行的,且作業嘗試以與屬性控制設定相衝突的方式設定項目屬性,則「Oracle 項目開放式介面」將傳回錯誤訊息。錯誤訊息將會包含下列文字,後面緊跟導致此錯誤的屬性清單。
Master - Child Conflict in one of these Attributes:
此訊息表示 ESI 發行作業正嘗試在受主組織控制的子組織中設定項目屬性,且子項目的屬性值與主項目的屬性值不相符。
欲解決此問題,應檢視屬性控制設定以識別該衝突。請注意,用於建立子項目的項目範本也可能會將項目屬性設定為錯誤的預設值。請參閱《Oracle Inventory User's Guide》(Oracle Inventory 使用指南) 中的〈Item Setup and Control〉(項目設定和控制) 一章,以瞭解有關配置屬性控制及項目範本的資訊。
針對 ESI 交易,TIBCO 轉接器逾時
如果在 TIBCO 轉接器與 ERP 的連接中斷之後,TIBCO 轉接器開始逾時,請檢查連接狀態並重新啟動轉接器。
當使用 Windchill Enterprise Systems Integration for Oracle Applications 時,如果任何 CN 以超出 10 個字元限制的 CN 發行,TIBCO 轉接器「主場地組態」就會停止。
欲解決此問題,請從下列 ESI TIBCO 安裝目錄下的兩個資料夾中清除副檔名為 .ldr 的 ledger 檔案:
1. <Install_Home>\tibco\bw\5.13\
2. <Install_Home>\tibco\tra\domain\<DOMAIN_NAME>\application\Oracle_Apps\ledger
* 
必須先停止所有轉接器,您才能清除 ledger 檔案。
顯示 ESI 回應中繼資訊檔案錯誤訊息
從「新發佈目標」或「編輯發佈目標」視窗中按一下「完成」時,與 ESI 回應中繼資訊檔案相關的錯誤訊息會顯示出來
這可能由以下任何一個問題所導致,並會顯示針對發佈目標屬性「ESI 回應中繼資訊檔案路徑」指定的值:
檔案的路徑不存在。
檔案的內容與基礎結構描述不符 (結構描述預設由 ESIResponseMetaInformation.xsd 檔案提供)。
檔案的內容無效 - 例如,檔案中的 MapInformation 元素參考了不存在的 Map 元素。其他一些原因也可能導致檔案內容被視為無效。
與檔案中至少一個 Map 元素相關聯的 ID 屬性已用於與前者不同的 Map 元素。例如,如果使用者將 (建立或編輯的) 發佈目標指向某個 ESI 回應中繼資訊檔案,且已修改其零件的 Map 元素以包含其他全域屬性,但其 ID 屬性繼續擁有 ESIPart 值,而已將不同的發佈目標指向預設提供的 ESI 回應中繼資訊檔案,則會發生這種情況。
ADB Agent 在 Windows 伺服器上啟動失敗
顯示以下錯誤訊息:
The ordinal 3823 could not be located in dynamic link library LIBEAY32.dll
欲解決此問題,請執行下列指令:
1. MOVE /Y <Tibco_Home>/adapter/sdk/6.0/bin/libeay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/libeay32_bk.dll
2. MOVE /Y <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32_bk.dll
3. COPY /Y <Tibco_Home>/tibrv/8.4/bin/libeay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/libeay32.dll
4. COPY /Y <Tibco_Home>/tibrv/8.4/bin/ssleay32.dll <Tibco_Home>/adapter/sdk/6.0/bin/ssleay32.dll
在「企業交易記錄檔」中,發行仍保持在「待處理」狀態下
此問題可能由以下其中一個原因造成:
連接至 JMS 伺服器 tcp://<JMSServer>:7222 失敗
如果無法連接至 JMS 伺服器,或無法將主機名稱解析至正確的 IP 位址,便可能發生這種情況。錯誤版本的 tibjms.jar 檔案也可能導致發生此問題。欲解決此問題,請確定 Windchill 伺服器中的 tibjms.jar 檔案正在 TIBCO 伺服器上使用正確版本的 JMS。
1. 從 Windchill 伺服器開啟指令視窗。
2. 使用與 Windchill 應用伺服器記錄檔中顯示的字串完全相同的字串來 Ping <JMSServer>。
3. 如果 ping 請求失敗,則執行 ping <JMSServer_IP>。
4. 如果 ping 請求成功,則使用所顯示的 IP 位址,或將下列項目新增至 %Windir%\System32\drivers\etc\hosts 檔案:<JMSServer_IP> <JMSServer>
5. 如果 ping 請求仍然失敗,請與網路管理員聯絡。
連接 DataResponse 佇列失敗。
欲核對這是否為導致發生此問題的原因,請連接至 JMS 伺服器並檢查是否已建立 DataResponse 佇列,以及是否已授與 WCESI 使用者在 DataResponse 佇列上傳送的權限。如果在 DataResponse 佇列名稱前面顯示一個星號 (*),則表示此佇列是暫時的,且需要建立。當已手動部署 EAR 時,可能會發生此問題。欲解決此問題,請在「JMS 管理」視窗中執行下列指令:
1. Create queue <DataResponse>
2. Setprop queue <DataResponse> secure
3. Grant queue <DataResponse> <EAIUser> receive
4. Grant queue <DataResponse> <WCESIUser> send
5. Setprop factory QueueConnectionFactory url=tcp://<JMSServer>:7222
6. Commit
「流程封存」並未連接至 DataResponse 佇列。
開啟「JMS 管理」視窗以確認 DataResponse 佇列已由「流程封存」訂閱。手動部署時,常會遺漏此步驟,而導致發生錯誤。若尚未訂閱 DataResponse 佇列,則請導覽至 TIBCO Administrator > Application Management > Application Name > Configuration > Deployment Name > Advanced > ESIJMS/DataResponseQueue 來核對 DataResponseQueue 中的值
只有一個 WCESI 使用者連接至 EMS 伺服器。請導覽至 EMS Administration Tool > Show connections 來進行核對。
具有 ClientID (BW-ESIMaster_JMSConnection-queue-<Application Name>-Process_Archive) 的 ESISYS 連接數應與配置的 ERP 實例數相等。若不相等,執行流程封存的其他實例便可能會消耗「ESI 回應」訊息。請導覽至 EMS Administration Tool > Show connections 來核對 ESISYS 連接數。
核對是否所有連接都來自目前這一測試組中的 TIBCO 或 Windchill 伺服器,且沒有連接來自前一組或外部電腦。若不相等,執行流程封存的其他實例便可能會消耗「ESI 回應」訊息。
「流程封存」並未連接至相同的 DataResponse 佇列。請導覽至 EMS Administration Tool > Show queues 來進行核對。
com.ptc.windchill.esi.Result 佇列只有一個接收器。請導覽至 EMS Administration Tool > Show queues 來進行核對。
佇列中仍然存在訊息。請導覽至 EMS Administration Tool > Show queues 來進行核對。
建立發佈目標時為 DSN 屬性指定的值,與執行 MICU 時針對特定 Oracle Applications 實例指定的對應值不符。這會導致 Windchill ESI 服務將 ESI 回應訊息置於不存在的 EMS 佇列上,進而導致 ESI 交易保持在待處理狀態下。
透過推進請求推進一組企業物件會導致為這裡的每一個物件建立一個 RTM 工作流程
如果「發佈推進請求」偏好設定的值為「否」,則可能發生此情形。將偏好設定設為「是」可透過單一 RTM 工作流程發行推進請求中的物件。
在推進一或多個企業物件時產生的 ESI 回應檔案並不包含有關除其 ID 以外之推進請求的任何資訊
這是預期的行為。如果您想要以單獨 XML 元素中的 ESI 回應傳送針對推進請求的其他屬性,您需要視需要配置 ESI 回應中繼資訊檔。