场景:
windchill部署代码,执行xconfmanager更新配置后,windchill起不来了,查看LOG日志出现 [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09041C, comment: AcceptSecurityContext error, data 52e, v4563 ]
2020-12-19 09:18:37,110 FATAL [main] wt.method.server - MethodServerMain abort
wt.util.WTException: wt.org.OrganizationServicesIEException: javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09041C, comment: AcceptSecurityContext error, data 52e, v4563 ]
嵌套异常是: wt.org.OrganizationServicesIEException: javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C09041C, comment: AcceptSecurityContext error, data 52e, v4563 ]
at wt.org.LdapServices.queryPrincipalsFromLdap(LdapServices.java:924)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
at com.sun.proxy.$Proxy48.queryPrincipalsFromLdap(Unknown Source)
原因:
这是因为windchill做了AD域集成,当执行了xconfmanager命令更新配置后,D:\ptc\Windchill_11.0\Windchill\tasks\wt\federation\MapCredentials.xml
该配置文件中的 OU=????,OU=??????
成了乱码导致LDAP在登陆时出错。
<!------------------------------------------------------------------
Create a credentials map for users with administrative privileges
---------- <PRIVILEGED_USER_ADAPTERS> ----------------------->
<ie:param name="element"
data="INSTANCE=com.fjdynamics.CorpLDAP:DBUSER=CN=firewall,OU=????,OU=??????,DC=fjdynamics,DC=com:PASSWD=dellORhp@01"/>
解决办法:
- 查看
MapCredentials.xml
配置文件,将OU=????,OU=??????
更改正确(如何转码可以看这里https://www.cnblogs.com/yorshika/p/14035438.html)。 -
D:\ptc\Windchill_11.0\Windchill\tomcat\instances
删除掉里面的所有缓存文件。 -
D:\ptc\Windchill_11.0\Windchill\tasks\codebase\com\infoengine\compiledTasks\file
删除掉里面的所有缓存文件。