与其他应用程序集成 > 与 Creo Elements/Direct Model Manager 集成 > Windchill Gateway 的安装和设置 > 故障排除配置
  
故障排除配置
故障排除先决条件
本节假定您已按照指示安装和配置了所有组件。
Windchill
症状
作业已启动,且第一个收集步骤已进行较长时间。
您将看到下列错误信息:
WARNING: Subscribing Windchill Skipped
原因
Windchill 预订“面向消息的中间件”失败。安装期间输入了错误的配置信息。必须在 Info*Engine 中更新 Windchill 网关适配器属性,并手动预订“面向消息的中间件”。
解决方案
1. 访问下列属性并查看它们是否输入正确:
JMS 基础 URI
队列连接工厂
如果不正确,请更新属性。
2. 在 Info*Engine 适配器中更新队列属性 (突出显示),如下所示:
3. 在 wt.properties 文件中,检查队列名称 com.ptc.windchill.dpimpl.distproc.impl.queuename。
如需修改此名称,请使用 xconfmanager。队列名称必须与在 GatewayConfig.xml 文件中定义的 JMSMessageQueue 相匹配。
4. 手动预订“面向消息的中间件”,或重新启动方法服务器。
5. 在 Web 浏览器中运行下列任务:
(对于具有方向的队列名称)
http://<Windchill
http://<WindchillHost>:
<port>/<Webname>/servlet/IE/tasks/com/ptc/dpimpl/
Subscribe.xml?QUEUE=<queuename>&DIRECTION=com_ptc_ggw_jms_direction=
'<WINDCHILLINSTANCENAME>'&EXECUTE_TASK=
/com/ptc/dpimpl/dispatcher.xml&JMS-SERVICE=SunMQ
(对于没有方向的队列中名称)
http://<WindchillHost>:
<port>/<Webname>/servlet/IE/tasks/
com/ptc/dpimpl/subscribe.xml?QUEU=<queuename>&EXECUTE_TASK=/
com/ptc/dpimpl/delegateAction.xml&JMS-SERVICE=SunMQ
例如:
http://fgw-2.ptcnet.ptc.com/Windchill/servlet/IE
/tasks/com/ptc/dpimpl/subscribe.xml?
QUEUE=WCLISTEN&EXECUTE_TASK=
/com/ptc/dpimpl/delegateAction.xml&JMS-SERVICE=SunMQ
网关适配器端
症状
已安装 Windchill Gateway for Creo Elements/Direct Model Manager。所有网关适配器均已配置并在运行中。您针对特定进程启动一项作业,但网关适配器在适配器控制台中未收到任何消息。
作业显示此适配器的步骤 (收集、导出或导入) 完成或失败。诊断页面显示其在正确进行中。
原因
适配器名称可能冲突。您注册到 Windchill 的适配器名称可能与另一客户端上已经运行的适配器冲突。正在接收的消息可能特定于其他适配器。
解决方案
1. 交叉校验已注册的所有适配器名称 (打开“Windchill 目录服务器”并导航至 Manage Entries > Configuration Section-Registry)。
2. 查看是否有适配器共用同一名称。
3. 对于所有重名适配器,仅保留一个处于使用中。
4. 在每个重名适配器上再次运行配置实用程序,以提供唯一的适配器名称。
适配器抛出异常
症状
适配器启动时抛出异常。
原因
将本地主机更改为由此适配器使用的队列连接厂中的实际主机名。有关详细信息,请参阅为管理的对象创建 LDAP 条目
解决方案
重新启动 Windchill 服务器。
症状
适配器抛出下列异常:
(com.infoengine.util.IEResource/115)
com.infoengine.exception.fatal.IEFatalServiceException:
Lookup of Administered object with
uri <您的队列名称> returned null.at
com.infoengine.messaging.MsgService.lookupAdminObject
(MsgService.java:1273)at com.infoengine.messaging.MsgService
.lookupQueue(MsgService.java:1289)at com.infoengine.
messaging.MsgService.getQueueListener(MsgService.java:
原因
适配器配置了错误的队列名称。
解决方案
手动编辑 GatewayConfig.xml 文件以更正队列名称。
症状
适配器抛出下列异常:
(com.infoengine.util.IEResource/115) com.infoengine.exception.
fatal.IEFatalServiceException: Lookup of Administered object
with uri <your_connection_factory> returned null. at
com.infoengine.messaging.MsgService.lookupAdminObject
(MsgService.java:1273)at com.infoengine.messaging.MsgService.
lookupConnectionFactory(MsgService.java:1327)at com.infoengine.
messaging.MsgService.getConnectionFactory(MsgService.j
原因
配置期间输入的“JMS 基础 URI”或队列连接工厂错误。
解决方案
手动编辑 GatewayConfig.xml 文件以更正“JMS 基础 URI”或队列连接工厂。
症状
适配器抛出下列异常:
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:97)
at com.infoengine.au.DefaultServerSocketFactory.
createServerSocket(DefaultServerSocketFactory.java:42)
at com.infoengine.au.SocketAccess.createServerSocket
(SocketAccess.java:707)at com.infoengine.au.
SocketAccess.initialize(SocketAccess.java:318)
at com.infoengine.au.SocketAccess.<init>(SocketAccess.java:237)
at com.ptc.dpa.toolkit.adapter.core.DPAdapterMain.main
(DPAdapterMain.jav
原因
适配器端口已占用或忙碌。必须将适配器配置更改为未使用的端口。
解决方案
手动编辑 GatewayConfig.xml 文件以更改端口号。
症状
适配器获取作业消息、完成第一步 (收集),并将消息发回至 Windchill 中的网关进程控制器。但 Windchill 从未收到消息,且作业未继续进行。消息队列显示来自适配器的消息。
原因
适配器可能配置了错误的 Windchill 实例名称。
解决方案
手动编辑 GatewayConfig.xml 文件以更改 Windchill 实例名称。
症状
适配器抛出异常且出现下列任一消息:
指定的路径不包含公钥
无法读取公钥
原因
未在网关适配器主目录中复制公钥,或复制的公钥不正确。
解决方案
1. 请联系网关管理员并请求您适配器的公钥。
2. 复制网关适配器主目录中的公钥。
症状
作业在 Model Manager 端保持“导出完成状态”、未在 Windchill 端创建排程,且 Windchill 抛出下列异常 Windchill 方法服务器日志:
ERROR: com.ptc.windchill.dpimpl.tags.DPValidateAuthenticationTag - Error while
fetching principal wt.org.UserNotFoundException: null user
at wt.session.StandardSessionManager.setPrincipal(StandardSessionManager
.java:214)
at sun.reflect.GeneratedMethodAccessor2116.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.
java:304)
at $Proxy16.setPrincipal(Unknown Source)
...
...
ERROR: com.infoengine.messaging.QueueListener - error executing
"com/ptc/dpimpl/delegateAction.xml"
(com.ptc.windchill.dpimpl.tags.TagsResource/USER_VALIDATION_FAILED) com.infoengine.util.
IEException: User validation failed. The user abcde is not a valid Windchill user.
Nested exception is: wt.org.UserNotFoundException: null user
at com.ptc.windchill.dpimpl.tags.DPValidateAuthenticationTag.validUser
(DPValidateAuthenticationTag.java:104)
at com.ptc.windchill.dpimpl.tags.DPValidateAuthenticationTag.doStartTag
(DPValidateAuthenticationTag.java:76)
原因
在 UserMap.xml 中映射的用户不存在于 Windchill 中。
解决方案
确保在 UserMap.xml 中定义的用户存在于 Windchill 中,且对导入上下文、网关管理器 (或网关发布者) 和 Creo Elements/Direct Model Manager 组具有适当的访问权限。