Community Tip - New to the community? Learn how to post a question and get help from PTC and industry experts! X
Version: Windchill 12.0
Use Case: Background method server died just as I was in the middle of creating a new Windchill login.
Description:
A while back, the background method server died just as I was in the middle of creating a new user. This resulted in not being able to find the user since it was not completely created and cannot create the user as it already exists.
We have a external LDAP for logging into our windchill and oracle DB for primary object storage.
What DB tables are updated when we create a new user? I suspect there is more than one. We attempted to remove the user from one table, but it did not make a difference.
These tables we checked, and we removed from the user table, but still having the same issue. I cannot create new, nor can I find the user to edit.
Then you might need to get PTC support. I don't know if there is anyone on this forum that will want to risk trying to help with the chance of messing up your tables.
I would not blame anyone for not trying something. We are currently syncing the db into the dev environment. This will allow me to play there.
What does your disconnected principals report look like? Is it showing that user? Surprised that the transaction did not roll back when the crash occurred. You say that you cannot make any changes to any user? I suspect that the DB still has a lock on that table somehow.
Does not show up.
I can make any changes to any user other than the one I was creating when the crash occurred. Cannot find him to edit him, cannot create a new one with the same ID as it already exists.
Hello @CraigFinney
Can you tell us if you integrate the corporate LDAP with Windchill and how?
If you say synchronize? what action do you have to do? Create manually the user? or what?
Also It would be really nice to see the exact error from the method server log. because there can be information why there is the unique ID error.
Also be sure that you do not use an alternative user name same as the LDAP internal name.
for example an unique user can login with HPETR and PETRH because there is the alternative name Thanks that you can not create a second user login with HPETR or PETRH the two names for a login.
PetrH
PetrH
Company creates a login, lets say, on server pickle. This account is used for a variety of different applications including WC.
I create the WC login using the same login ID, with my ldap refering to pickle server (we set this as default)., and a very long random password that is never used.
The user will login to WC thru the pickle server for authorization. The sync occurs to ensure the login ID is valid and it updates name changes.
I don't believe I was able to find anything in the server log for the unique ID error when trying to recreate the login ID. But to be honest, I did not look too deeply. Something for me to try again. I believe the original entry did not complete the LDAP information (it was blank).
Currently planning out next WC upgrade to 13, which is taking a lot of my attention, when I am not correcting finger errors from users. So I may be slow to respond to anything for a bit.
Hi @CraigFinney
I believe that the error can be in your Windchill local ldap, that the error is not connected with the database entries.
The method sever could crash during the saving action that the entry could be written in the ldap but thanks that crash database was not involved.
who knows 😄
The method server logs could say more.
PetrH
Hi @CraigFinney
I would like to just say that if you use external LDAP then you should create the user in that LDAP like ActiveDirecotry.
The Windchill side is just read-only and you can not create the user from Windchill side
I can be wrong if you allow Windchill to change the AD side but it is not common from my expereience.
PetrH
The company policy is to create the external login (AD / :LDAP), and we sync Windchill to that login (I would be the last in about 20 to 30 steps) . When the method server stopped responding, I was in the middle of creating the windchill login that would sync with it, so only 1/2 the tables got updated. I cannot find the user to complete the update, and I cannot create it as new as some tables have it. I just need to know all the tables that are updated when creating the login ID within Windchill (tables in Windchill and tables in the DB).
If you are fully integrated with the corporate LDAP, then your first step in Windchill is to assign the new user a license. Windchill reads the new user from the corporate LDAP and populates the tables shown in CS109367,
Sound like maybe you are using a local LDAP (OpenDJ/Windchill DS) for defining participants in Windchill (populating the database tables) and using the corporate LDAP with Apache for authentication only. Is that correct?
Follow CS109367 and define the database queries to track down the incomplete user account. You can also run WinDU to investigate participant issues.
It is not an LDAP issue.
Can tell us what tables you have already checked so that we don't suggest checking table X when you have already checked table X?
I think we check the wt.user table. but I am not 100% sure. When I go to load the user ID, as a Participant, I get a not found. When I attempt to create it, I get a Not Unique login ID. I cannot find it to fix it or delete it, but I cannot create over it.
I've always wanted a tool that could search tables and columns to find a value.
This post motivated me to finally to write it.
I did filter the column name to search only columns with CLASSNAME in their name.
This limited to the search to a mere 1122 columns.
Of those there are 34 tables with a column where the value of the column equaled the search String, wt.org.WTUser.
Who knew? 😊
See image below.