适用版本: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即可保存。
标签: