
適用版本:TC11
(資料圖片)
在正常應用情況下,如果突然所有客戶端接口都無法保存模型文件到TC,并彈出錯誤提示:
圖1
全部保存到 Teamcenter 操作失敗。 java.lang.NullPointerException
其他錯誤
java.lang.NullPointerException
初始異常詳細信息
java.lang.NullPointerException
atcom.transcendata.cadpdm.sw.SWCollectionHelper$RemovalFilter.filter
(SWCollectionHelper.java:1198)
atcom.transcendata.cadpdm.AbstractOperationCollection.removeAll
(AbstractOperationCollection.java:592)
atcom.transcendata.cadpdm.sw.SWCollectionHelper.removeConfigu
rations(SWCollectionHelper.java:503)
atcom.transcendata.cadpdm.sw.SWCollectionHelper.removeDefault
(SWCollectionHelper.java:467)
atcom.transcendata.swimsoa.SynchronizationHandlerImpl.findPDMIdentifiers
(SynchronizationHandlerImpl.java:292)
atcom.transcendata.cadpdm.DefaultFromCADCollector.completeCollection
(DefaultFromCADCollector.java:506)
atcom.transcendata.cadpdm.DefaultFromCADCollector.execute
(DefaultFromCADCollector.java:244)
atcom.transcendata.cadpdm.DefaultFromCADCollector.executeWithMonitor
(DefaultFromCADCollector.java:271)
atcom.transcendata.cadpdm.InterruptibleOperationHelper.executeOperation
(InterruptibleOperationHelper.java:272)
atcom.transcendata.cadpdm.InterruptibleOperationHelper.executeOperation
WithMonitor(InterruptibleOperationHelper.java:350)
atcom.transcendata.swimsoa.Operations.checkInAll(Operations.java:1119)
atcom.transcendata.swimsoa.MainSwim$9.execute(MainSwim.java:147)
atcom.transcendata.cadpdm.cs.CSOperations.processCIC(CSOperations.java:84)
atcom.transcendata.cadpdm.cs.CSHelper.processEvents(CSHelper.java:281)
atcom.transcendata.swimsoa.MainSwim.main(MainSwim.java:271)
通過項目實施發現引起java.lang.NullPointerException報錯的原因較多,下面講解項目中此問題的處理方案。
SW不能將數據保存到TC的原因:用戶產生了ID和名稱為“默認”的Item及名稱為“默認”的SWPART數據集,導致與TC與SW集成沖突。
解 決 方 法以infodba身份登錄,并勾選旁路權限;
在Dataset_defaultChildProperties中添加SWIM_master_dependency;
在Dataset_shown_relations中添加SWIM_master_dependency;
通過“常規”查找名稱為“默認”的Item;
圖2
展開名稱為“默認”的Item,如下圖。如果看不到名稱為“夾爪”的Item,在數據集上進行刷新即可;
圖3
剪切名稱為“默認”SWPART數據集下的“LJD016AA0201004”這個Item Revision對象;
刪除名稱為“默認”的SWPART數據集;
刪除名稱為“默認”的Item;
重新登錄TC 再打開solidworks即可保存。
標簽: