1.場景:
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)
 
        2.原因:
這是因為windchill做了AD域集成,當執行了xconfmanager命令更新配置后,D:\ptc\Windchill_11.0\Windchill\tasks\wt\federation\MapCredentials.xml 該配置文件中的 OU=����,OU=�Ὦ���� 成了亂碼導致LDAP在登陸時出錯。
 如下方配置:
<ie:webject name="Create-Group" type="GRP">
   <% if ( isAdmin ) { %>
      <!------------------------------------------------------------------
        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"/>
      <ie:param name="element"
                data="INSTANCE=com.fjdynamics.CorpLDAP:DBUSER=cn=Manager:PASSWD=encrypted.com.fjdynamics.CorpLDAP.cn=Manager"/>
      <ie:param name="element"
                data="INSTANCE=com.fjdynamics.EnterpriseLdap:DBUSER=cn=Manager:PASSWD=encrypted.com.fjdynamics.EnterpriseLdap.cn=Manager"/>
      <ie:param name="element"
                data="INSTANCE=com.fjdynamics.Ldap:DBUSER=cn=Manager:PASSWD=encrypted.com.fjdynamics.Ldap.cn=Manager"/>
   <% } else { %>
      <!----------    Create a credentials map for non-privileged users
        ------------------- <NONPRIVILEGED_USER_ADAPTERS>  ------------------------>
   <% } %>
   <ie:param name="delimiter" data=":"/>
   <ie:param name="group_out" data="map"/>
</ie:webject>
 
        3. 解決辦法:
- 查看
MapCredentials.xml配置文件,將OU=����,OU=�Ὦ����更改正確(如何轉碼可以點這里)。 D:\ptc\Windchill_11.0\Windchill\tomcat\instances刪除掉里面的所有緩存文件。D:\ptc\Windchill_11.0\Windchill\tasks\codebase\com\infoengine\compiledTasks\file刪除掉里面的所有緩存文件。- 開打windchill shell 執行 
windchill start啟動windchill 
你也可以提前將MapCredentials.xml 提前備份一遍正確的,出問題直接替換它。
