Open aguibert opened 6 years ago
I am looking into a case where an application does not require a user registry, but need remoteEJB lookup. The remote EJB lookup fails with CWWKS9660E: "The orb element with the defaultOrb id attribute requires a user registry....." . This issue seems to be reporting the same problem.
According to current design, in order to use remoteEJB feature, user registry is required for following reasons:
A registry is still required to represent the unauthenticated user in the target server. The UnauthenticatedService tries to get the registry when creating the subject for the unauthenticated subject. Also, on z/OS it can use WSGUEST for example. A registry is still needed with the current security framework.
default orb element is not required in server.xml. as it is implicitly defined.
The code looks for SSL config in this implicit default orb element that makes it hard for user to understand the CWWKS9660E mesage.
Also the code further looks for user registry explicitly configured in server.xml, even though it is used for unauthenticated subject.
One of possible solution is to better document - make it easy for users to understand the remoteEJB requirement along with the implicit orb element config.
Another one would be to have implicit User Registry to handle unauthenticated subject. I am going to check how it can be done technically.
Per discussion with developers, I learned that remoteEJB-3.2
feature requires UserRegistry according to the specification because ORB instance has to have "realm" (=UserRegistry) to validate user against.
While users who use remoteEJB-3.2
feature (such as remote EJB lookup) do need to configure UserRegistry, other users who happened to include remoteEJB-3.2
as a part of convenient/bundled feature such as javaee-7.0
, CWWKS9660E does not make sense. UserRegistry is not really needed for them.
Liberty needs to print informational (I:) message rather than warning. Also the message should not have "As a result... file" part. The documentation should also be updated along message change.
[ERROR ] CWWKS9660E: The orb element with the defaultOrb id attribute requires a user registry but no user registry became available within 10 seconds. As a result, no application will start. Ensure that you have configured an appropriate user registry in the server.xml file.
Following configuration successfully created ORB instance while not allowing to add any user/groups. This is handy for users who does not need user registry
<basicRegistry id="basic" realm="dummyRealm">
</basicRegistry>
TODO: Once message is updated, open a doc defect. May test with the above registry settings.
If someone is enabling a large amount of features (such as
javaee-7.0
) and their applications do not use a user registry, and does not have the default SSL config correct, they may get the error message:Note that
CWWKS9660E
indicates no apps will start, but theCWWKZ0001I
message indicates that the application started OK (and is indeed usable).To reproduce this issue, make a simple app (such as a hello servlet) and enable the
javaee-7.0
feature without proper SSL configuration.