诊断和解决问题
检测到无法自动纠正或无法由用户纠正的问题后,您需要开始诊断问题。这将涉及到对问题分类并确定发生问题的位置,以确定其根本原因。
确定问题的位置
要确定问题来源的位置,您需要提出一些问题,例如:
该问题是否与业务流程问题 (如系统记录冲突)、功能问题 (如无效数据) 或技术问题 (如服务器关闭) 关联?
该问题是否与 Windchill PDMLink 或分布目标 MES 系统关联?
该问题是否与基础物理网络和计算关联而与 Windchill Integration for MES 无关?
是否可以在与生产环境具有相同配置的测试系统中重复这一问题发生的场景?
对问题进行分类:故障排除的关键区域
要对问题进行分类,您需要将重点放在关键问题区域,并逐渐熟悉错误处理报告,例如错误日志和错误处理代码。
大多数与系统相关的技术问题可以根据根本原因的位置进行分类。
对您来说,熟悉联机帮助中的业务过程以及功能故障排除信息也很重要。不熟悉此信息的用户可能向您提出这些问题。
以下类别的问题及其说明并未打算一步一步地列出详细过程,而是帮助您将重点放在导致出现以下技术问题的某些关键或潜在的根本原因上:
源自 Windchill Integration for MES 的问题
源自分布目标的问题
Windchill Integration for MES 日志中指示的问题
Windchill Integration for MES 问题
以下内容列出了如何处理可能源自 Windchill ESI 服务的问题:
验证 Windchill 服务器是否正在运行
审阅 Windchill 管理日志中的错误消息
验证表示分配目标的系统 (例如,相关 FTP 或电子邮件服务器) 是否已启动并运行,以及是否已为给定目标正确设定了标识符。
验证相关 Windchill Integration for MES 属性值的适用性。
分布目标问题
将对象从 Windchill PDMLink 发布至一个目标系统的过程中,有几个会导致错误的常见问题。可以通过搜索可利用的消息日志以及与系统管理员合作来查明故障,诊断问题。
为诊断问题,企业系统事务处理管理 GUI 会记录整个事务处理及关联子事务处理的错误消息。可通过单击子事务处理或事务处理的链接查看相关错误消息。
下面为 GUI 记录事务处理及关联子事务处理的错误消息的格式:
解决问题
诊断出问题后,您需要解决这些问题。以下内容列出了进行故障排除时可以使用的一些常用技巧以及特定问题及其解决方案。
解决特定问题
以下内容列出了特定问题,并提供了可能的根源以及解决问题时建议使用的方法。
问题
Windchill Integration for MES 事务处理日志 GUI 中会显示以下消息:
向分布目标 E-Mail 发布 0000000081 时,系统会出现错误。javax.mail.MessagingException: 无法连接至 SMTP 主机: int-mail.ptc.com, 端口:25;
嵌套异常是:
java.net.SocketException: 软件导致连接中止: 连接
可能的根源
由于防火墙或网络安全因素,端口受阻。
解决方案
咨询网络管理员或系统管理员,以便允许连接到服务器。
问题
Windchill Integration for MES 事务处理日志 GUI 中会显示以下消息:
向分布目标 FTP to i2440 发布 0000000101 时出现系统错误
尝试调用 webject 时出现错误: "Write-To-Ftp".嵌套异常是: java.net.ConnectException: 连接超时: 连接
可能的根源
FTP 服务器未运行,或存在网络问题。
解决方案
咨询服务器管理员或系统管理员,以允许连接到服务器。
问题
Windchill Integration for MES 事务处理日志 GUI 中会显示以下消息:
向分布目标 FTP to i2440 发布 0000000101 时出现系统错误。尝试调用 webject 时出现错误: "Write-To-Ftp".嵌套异常是: sun.net.ftp.FtpLoginException: 未登录.
可能的根源
正在使用无效的用户名或密码登录 FTP 服务器。
解决方案
通过重新创建分布目标更正用户名及密码。
问题
在数据库中创建目标之后,“分布目标”表不会显示在自定义部件 (例如 "wt.wadm.FADProduct") 的属性页面中。
可能的根源
按照设计,文件 <Windchill>\codebase\netmarkets\jsp\tgt\distributionList.jsp 的默认版本不会显示自定义部件的分布目标表。
解决方案
对自定义部件 (例如 wt.wadm.FADProduct) 启用“分布目标”表。
1. 打开文件:<Windchill>\codebase\netmarkets\jsp\tgt\distributionList.jsp
2. 通过添加自定义部件类型,如下修改 if 语句。
例如,如果对象类型是 wt.wadm.FADProduct,则如下修改 if 语句:
if (oid.indexOf("wt.doc") != -1 ||
oid.indexOf("wt.epm") != -1 ||
oid.indexOf("wt.part") != -1 ||
oid.indexOf("com.ptc.windchill.mpml.processplan.MPMProcessPlan") != -1 ||
oid.indexOf("com.ptc.windchill.mpml.resource.MPMProcessMaterial") != -1 ||
oid.indexOf("com.ptc.windchill.mpml.resource.MPMTooling") != -1 ||
oid.indexOf("com.ptc.windchill.mpml.resource.MPMSkill") != -1 ||
oid.indexOf("com.ptc.windchill.option.model.OptionSet") != -1 ||
oid.indexOf("wt.wadm.FADProducts") != -1)
3. 保存文件,然后重新启动 servlet 引擎。
问题
对象的子类型属性或其值未呈现在响应文件中。
可能的根源
以下原因可能造成这个问题:
映射错误
未针对子类型属性定义唯一标识符 (内部名称)。
唯一标识符 (内部名称) 不是为 ESI 响应元信息文件中的给定对象类型所定义的 Map 元素中的源属性名称。
解决方案
请确保映射正确。例如,如果已针对 wt.part.WTPart 定义了子类型属性,则:
属性名称:volume
唯一标识符:org.ptc.volume
映射:<esi:attributeMapping sourceAttribute="org.ptc.volume">Volume</esi:attributeMapping>
问题
发布期间,未将分布目标自动分配给部件,尽管目标上的“上下文的默认值”(Default for Context) 属性被设置为“是”,并且目标与部件属于同一上下文或目标属于级别更高的上下文。
可能的根源
Windchill Integration for MES 首选项“视图到分布目标映射”未正确设置。
解决方案
确保将首选项“视图到分布目标映射”设置为适当的值。例如,如果在“设计”视图中创建了所述部件,首选项的值必须设置为 Design:001,以便发布部件时,将编号为 001 的分布目标自动分配给部件。或者,首选项的值可以不引用目标编号。
问题
将某一分配目标关联至部件时,出现错误消息
可能的根源
此问题可能由下列任一原因引起:
Windchill Integration for MES 首选项“视图到分布目标映射”未正确设置。
发布目标已分配给部件。
解决方案
确保将上述首选项设置为适当的值。例如,如果在“制造”视图中创建了所述部件,首选项的值必须设置为 "Manufacturing:002",以便将编号为 002 的分布目标分配给部件。或者,首选项的值可以是 "Plant1:002" (其中 Plant1 是“制造”的子视图) 或不引用目标编号。
确保尚未将部件关联到正在关联的分布目标。
问题
部件会作为 ESI 响应中的已更改部件发送至特定分布目标,尽管该部件在上次成功发布到该目标后既未迭代也未修订。
可能的根源
此种情况可能由下列任一原因引起:
自部件上次成功发布以来,已为其设置了日期有效性,或对其日期有效性进行了更改。
由于部件在上次成功发布,部件的生命周期状态已更改。
自部件上次成功发布以来,已将 Windchill Integration for MES 首选项“发布企业数据信息”设置为“是”,并对表示部件的 ERPMaterial 对象进行了修改。
自部件上次成功发布以来,已将 Windchill Integration for MES 首选项“发布工厂数据信息”设置为“是”,并对表示部件和目标部门数据的 ERPPartSpecificPlantData 对象进行了修改。
解决方案
预期行为是该部件会在上述情况下作为已更改部件发送。相反,如果您要将该部件作为未更改部件发送,请使用最适合的方式,并记住上面列出的各种可能原因。
问题
发布相应部件时,添加到“扩展数据”类型的某一全局属性未通过 ESI 响应发送。
可能的根源
此问题可能由下列任一原因引起:
Windchill Integration for MES 首选项“发布企业数据信息”设置为“否”。
针对用于发布的 ESI 响应元信息文件中的全局属性,不存在相应的 attributeMapping 条目。
针对 ESI 响应元信息文件中的全局属性存在一个条目,但该条目的 XML 属性 erpMaterialAttribute 未设置为 true。
解决方案
确保将首选项“发布企业数据信息”设置为“是”。
针对相关 ESI 响应元信息文件中的全局属性添加 attributeMapping 条目,并请记住将其 XML 属性 erpMaterialAttribute 设置为 true。
问题
发布相应部件时,添加到“工厂数据”类型的某一全局属性未通过 ESI 响应发送。
可能的根源
此问题可能由下列任一原因引起:
Windchill Integration for MES 首选项“发布工厂数据信息”设置为“否”。
针对用于发布的 ESI 响应元信息文件中的全局属性,不存在相应的 attributeMapping 条目。
针对 ESI 响应元信息文件中的全局属性存在一个条目,但该条目的 XML 属性 plantSpecificAttribute 未设置为 true。
解决方案
确保将首选项“发布工厂数据信息”设置为“是”。
针对相关 ESI 响应元信息文件中的全局属性添加 attributeMapping 条目,并请记住将其 XML 属性 plantSpecificAttribute 设置为 true。
问题
通过 ESI 响应发送的特定装配使用关系元素值与在“制造产品结构阅览器”中使用“更新替代 BOM 编号”选项指定的装配部件 BOM 类型值有所不同。
可能的根源
设置 Windchill Integration for MES 首选项“视图到分布目标映射”“视图到 BOM 类型映射”以覆盖在装配部件小版本中指定的“BOM 类型”值时,会发生这种情况。例如,如果这些首选项的值分别设置为 Design:001,Manufacturing:002 和 Design:Engineering,Manufacturing:Production,当装配发布到编号为 001 的分布目标时,将为 Usage 元素发送“工程”值,从而覆盖可能已在装配部件上指定的 BOM 类型值。
解决方案
以上问题陈述中所介绍的内容只是预期行为。如果您想将“BOM 类型”值 (在装配零件上设置) 与 BOM 的 Usage 元素一起发送,请确保分布目标 (BOM 被发送到的目标) 的数值不会出现在首选项“视图到分布目标映射”的值当中;如果上述情况确实出现了,则对应的视图名称也不会出现在首选项“视图到 BOM 类型映射”的值当中。
问题
装配中的组件部件不发布至某些分布目标,尽管目标与这些部件关联
可能的根源
此问题可能由下列任一原因引起:
分布目标的“状况”属性被设置为“非活动”
分布目标与包含组件部件的装配部件并不关联;另外,这些目标与关联到装配部件的其他目标相比,属于不同的 Windchill Integration for MES 目标。
解决方案
确保将分布目标的“状况”属性设置为“活动”
此外,将上述分布目标关联到装配部件;或者,确保这些目标与装配部件相关联的任何目标属于同一 Windchill Integration for MES 目标。
* 
默认情况下,每个 Windchill Integration for MES 分布目标均被视为属于唯一的目标。您需要自定义 ESI 服务,以便将两个或两个以上的目标视为属于同一个目标。
有关详情,请参阅 Info*Engine 管理
问题
“新建分布目标”“编辑分布目标”窗口中单击“完成”,会显示关于 ESI 响应元信息文件的错误消息。
可能的根源
为分布目标属性“ESI 响应元信息文件路径”指定值后,这种情况可能由下列任一问题引起:
文件路径不存在。
文件内容不符合基础方案 (出厂设置,由 ESIResponseMetaInformation.xsd 文件提供方案)。
文件内容无效,例如,文件中的 MapInformation 元素引用不存在的 Map 元素。为何将文件内容视为无效,可能还有很多其他的原因。
与文件中至少一个 Map 元素关联的 id 属性已与不同的 Map 元素 (非关联的 Map 元素) 一起使用。例如,如果用户将分布目标 (正创建或编辑) 指向一个特定的 ESI 响应元信息文件,该文件的部件 Map 元素已被修改以适应其他全局属性,但其 id 属性仍具有 ESIPart 值,而此时,一个不同的分配目标已指向了默认提供的 ESI 响应元信息文件。
解决方案
请确保满足以下条件:
指定为分布目标属性“ESI 响应元信息文件路径”值的路径存在。
所参考的 ESI 响应元信息文件的内容符合基础方案且有效。
* 
有关详情,请参阅 Info*Engine 管理
问题
发布升级请求时,会创建多个 Release To Manufacturing 工作流。
可能的根源
如果 Windchill Integration for MES 首选项“发布升级请求”的值为“否”,则会出现此问题。
解决方案
将首选项“发布升级请求”设置为“是”,以便在发布升级请求时创建单一 RTM 工作流。
* 
Windchill Integration for MES 首选项“发布升级请求”设置为“否”的情况下,发布升级请求会导致得到的 RTM 工作流与升级请求中的可升级对象一样多。
问题
与部件 (或制造对象) 关联的文档未发布到与之关联的某些分布目标。
可能的根源
相对于部件 (或制造对象),文档还与其他分布目标关联。在此类情况下,文档仅发布到与部件 (或制造对象) 关联的分布目标。
解决方案
上述行为只是预期行为。为将文档发布到其他目标,请将文档发布为独立的对象,或者将其与“变更通告”或升级请求相关联。
问题
在发布与 CAD 文档结构关联的部件 (或制造对象) 时,仅发布此结构中的顶级文档。
可能的根源
这只是预期行为,原因在于未处理相关的 CAD 文档结构。
解决方案
为发布 CAD 文档结构,请将此结构发布为独立的对象,或将其与“变更通告”或升级请求相关联。
问题
发布 CAD 文档结构时,仅发布了该结构中的顶级文档。
可能的根源
如果下列任一情况属实,则会出现此问题:
分布目标属性“发布 CAD 文档结构时要发布的级数”设置为 0 (零) 或空字符串。
代表结构中第一级子项的文档主数据不可使用分布目标属性“发布 CAD 文档结构时要使用的已保存筛选器”解析为小版本。
解决方案
将属性“发布 CAD 文档结构时要发布的级数”设置为能够指定所需级数的数值。
将属性“发布 CAD 文档结构时要使用的已保存筛选器”设置为适当的值。
问题
发布与“变更通告”关联的 CAD 文档结构时,不能使用分布目标属性“发布变更通告时要使用的已保存筛选器”
可能的根源
这只是预期行为。ESI 服务改用属性“发布 CAD 文档结构时要使用的已保存筛选器”
解决方案
将属性“发布 CAD 文档结构时要使用的已保存筛选器”设置为所需的值。
问题
ESI 服务对链接到 WTDocument 的文档不作处理。
可能的根源
这只是预期行为,原因在于仅处理了 CAD 文档结构。
解决方案
为发布链接到顶级文档的文档,请分别发布这些文档。
问题
与部件 (或工艺计划) 关联的选项集不会发布至与其关联的特定分布目标。
这对您有帮助吗?