Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Problems with jndi lookup #535

Closed
mlb1141 opened this issue Nov 25, 2015 · 6 comments
Closed

Problems with jndi lookup #535

mlb1141 opened this issue Nov 25, 2015 · 6 comments

Comments

@mlb1141
Copy link

mlb1141 commented Nov 25, 2015

I created an ejb and deployed it to Payara. It has a
module name: VPP_JavaEE_Chap4 and a
bean name: EmployeeManagementImplementation

So I thought the following would work:

EmployeeManagementService service = (EmployeeManagementService)
jndi.lookup("java:global/VPP_JavaEE_Chap4/EmployeeManagementImplementation");

I also tried the non-global version:

EmpMgmtService service = (EmpMgmtService)
jndi.lookup("com.vpp4.staffmgmt.EmpMgmtService");

Neither worked.

Using the asadmin list-jndi-entries, I got the following:

UserTransaction: com.sun.enterprise.transaction.startup.TransactionLifecycleService$2
ejb: com.sun.enterprise.naming.impl.TransientContext
java:global: com.sun.enterprise.naming.impl.TransientContext
com.vpp4.staffmgmt.EmpMgmtService#com.vpp4.staffmgmt.EmpMgmtService: javax.naming.Reference
com.vpp4.staffmgmt.EmpMgmtService: javax.naming.Reference
com.vpp4.staffmgmt.EmpMgmtService__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
jdbc: com.sun.enterprise.naming.impl.TransientContext
concurrent: com.sun.enterprise.naming.impl.TransientContext
com.sun.enterprise.container.common.spi.util.InjectionManager: com.sun.enterprise.container.common.impl.util.InjectionManagerImpl
jms: com.sun.enterprise.naming.impl.TransientContext
Command list-jndi-entries executed successfully.

Needless to say, I was surprised the portable version did not show up AND that the non-portable one did not work.
That is question number 1.

In addition, I was getting the following java exceptions when I ran my standalone client:

javax.naming.InitialContext@1af2d44a
Nov 24, 2015 10:01:06 PM org.glassfish.enterprise.iiop.impl.GlassFishORBManager initORB
SEVERE: enterprise_util.excep_in_createorb
org.omg.CORBA.DATA_CONVERSION: WARNING: 02410014: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory is not a valid custom socket factory vmcid: OMG minor code: 14 completed: No
at com.sun.proxy.$Proxy19.badCustomSocketFactory(Unknown Source)
at com.sun.corba.ee.impl.orb.ParserTable$4.operate(ParserTable.java:763)
at com.sun.corba.ee.impl.orb.NormalParserAction.apply(NormalParserAction.java:62)
at com.sun.corba.ee.spi.orb.PropertyParser.parse(PropertyParser.java:84)
at com.sun.corba.ee.spi.orb.ParserImplBase.init(ParserImplBase.java:77)
at com.sun.corba.ee.impl.orb.ORBDataParserImpl.(ORBDataParserImpl.java:492)
at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:562)
at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:697)
at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:684)
at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:107)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:590)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:265)
at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:93)
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:162)
at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347)
at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354)
at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384)
at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at com.vpp4.client.ClientApplicationTest.main(ClientApplicationTest.java:24)
Caused by: org.omg.CORBA.BAD_OPERATION: WARNING: 01210054: Error while attempting to load class org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory vmcid: OMG minor code: 54 completed: No
at com.sun.proxy.$Proxy19.classActionException(Unknown Source)
at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:294)
at com.sun.corba.ee.impl.orb.ParserTable$4.operate(ParserTable.java:749)
... 20 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:880)
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:875)
at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:291)
... 21 more
Caused by: java.lang.ClassNotFoundException: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:878)
... 23 more

java.lang.RuntimeException: Orb initialization erorr
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:190)
at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347)
at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354)
at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384)
at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at com.vpp4.client.ClientApplicationTest.main(ClientApplicationTest.java:24)
Caused by: java.lang.RuntimeException: org.omg.CORBA.DATA_CONVERSION: WARNING: 02410014: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory is not a valid custom socket factory vmcid: OMG minor code: 14 completed: No
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:637)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:265)
at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:93)
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:162)
... 8 more
Caused by: org.omg.CORBA.DATA_CONVERSION: WARNING: 02410014: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory is not a valid custom socket factory vmcid: OMG minor code: 14 completed: No
at com.sun.proxy.$Proxy19.badCustomSocketFactory(Unknown Source)
at com.sun.corba.ee.impl.orb.ParserTable$4.operate(ParserTable.java:763)
at com.sun.corba.ee.impl.orb.NormalParserAction.apply(NormalParserAction.java:62)
at com.sun.corba.ee.spi.orb.PropertyParser.parse(PropertyParser.java:84)
at com.sun.corba.ee.spi.orb.ParserImplBase.init(ParserImplBase.java:77)
at com.sun.corba.ee.impl.orb.ORBDataParserImpl.(ORBDataParserImpl.java:492)
at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:562)
at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:697)
at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:684)
at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:107)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:590)
... 11 more
Caused by: org.omg.CORBA.BAD_OPERATION: WARNING: 01210054: Error while attempting to load class
org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory vmcid: OMG minor code: 54 completed: No
at com.sun.proxy.$Proxy19.classActionException(Unknown Source)
at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:294)
at com.sun.corba.ee.impl.orb.ParserTable$4.operate(ParserTable.java:749)
... 20 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:880)
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:875)
at com.sun.corba.ee.spi.orb.OperationFactory$ClassAction.operate(OperationFactory.java:291)
... 21 more
Caused by: java.lang.ClassNotFoundException: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.sun.corba.ee.spi.orb.ORB$2.evaluate(ORB.java:878)
... 23 more
javax.naming.NamingException: Lookup failed for 'com.vpp4.staffmgmt.EmpMgmtService' in
SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
java.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}
[Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for
SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory,
java.naming.factory.url.pkgs=com.sun.enterprise.naming,
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}
[Root exception is java.lang.RuntimeException: Orb initialization erorr]]
Picked up _JAVA_OPTIONS: -Xmx512M

I inquired about the "Caused by: java.lang.ClassNotFoundException:
org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory" and was told that it was included in
"Payara/payara41/glassfish/modules/orb-iiop.jar"

Since I am using gradle, printed by dependencies and got the following list
(which included orb-iiop.jar):
:printDependencies
C:\Payara\payara41\glassfish\modules\endorsed\javax.annotation-api.jar
C:\Payara\payara41\glassfish\modules\javax.batch-api.jar
C:\Payara\payara41\glassfish\modules\javax.ejb-api.jar
C:\Payara\payara41\glassfish\modules\javax.el.jar
C:\Payara\payara41\glassfish\modules\javax.enterprise.concurrent-api.jar
C:\Payara\payara41\glassfish\modules\javax.enterprise.concurrent.jar
C:\Payara\payara41\glassfish\modules\javax.enterprise.deploy-api.jar
C:\Payara\payara41\glassfish\modules\javax.faces.jar
C:\Payara\payara41\glassfish\modules\javax.inject.jar
C:\Payara\payara41\glassfish\modules\javax.interceptor-api.jar
C:\Payara\payara41\glassfish\modules\javax.jms-api.jar
C:\Payara\payara41\glassfish\modules\javax.json.jar
C:\Payara\payara41\glassfish\modules\javax.mail.jar
C:\Payara\payara41\glassfish\modules\javax.management.j2ee-api.jar
C:\Payara\payara41\glassfish\modules\javax.persistence.jar
C:\Payara\payara41\glassfish\modules\javax.resource-api.jar
C:\Payara\payara41\glassfish\modules\javax.security.auth.message-api.jar
C:\Payara\payara41\glassfish\modules\javax.security.jacc-api.jar
C:\Payara\payara41\glassfish\modules\javax.servlet-api.jar
C:\Payara\payara41\glassfish\modules\javax.servlet.jsp-api.jar
C:\Payara\payara41\glassfish\modules\javax.servlet.jsp.jar
C:\Payara\payara41\glassfish\modules\javax.servlet.jsp.jstl-api.jar
C:\Payara\payara41\glassfish\modules\javax.servlet.jsp.jstl.jar
C:\Payara\payara41\glassfish\modules\javax.transaction-api.jar
C:\Payara\payara41\glassfish\modules\javax.websocket-api.jar
C:\Payara\payara41\glassfish\modules\javax.ws.rs-api.jar
C:\Payara\payara41\glassfish\modules\javax.xml.registry-api.jar
C:\Payara\payara41\glassfish\modules\javax.xml.rpc-api.jar
C:\Payara\payara41\glassfish\modules\orb-connector.jar
C:\Payara\payara41\glassfish\modules\orb-enabler.jar
C:\Payara\payara41\glassfish\modules\orb-iiop.jar
C:\Payara\payara41\glassfish\modules\security.jar
C:\Payara\payara41\glassfish\lib\appclient\weld-se-core.jar
C:\Payara\payara41\glassfish\lib\appserv-rt.jar
C:\Payara\payara41\glassfish\lib\asadmin\cli-optional.jar
C:\Payara\payara41\glassfish\lib\asadmin\cluster-cli.jar
C:\Payara\payara41\glassfish\lib\asadmin\osgi-cli-interactive.jar
C:\Payara\payara41\glassfish\lib\asadmin\server-mgmt.jar
C:\Payara\payara41\glassfish\lib\client\appserver-cli.jar
C:\Payara\payara41\glassfish\lib\deployment\sun-as-jsr88-dm.jar
C:\Payara\payara41\glassfish\lib\embedded\glassfish-embedded-shell.jar
C:\Payara\payara41\glassfish\lib\embedded\glassfish-embedded-static-shell.jar
C:\Payara\payara41\glassfish\lib\gf-client.jar
C:\Payara\payara41\glassfish\lib\install\applications\jaxr-ra\jaxr-ra.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\fscontext.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\imqbroker.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\imqjmsbridge.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\imqjmsra.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\imqjmx.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\imqstomp.jar
C:\Payara\payara41\glassfish\lib\install\applications\mejb.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\commons-fileupload-1.1.1.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\commons-io-1.3.1.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\dojo-ajax-nodemo-0.4.1.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\json-1.0.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\prototype-1.5.0.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\webui-jsf-4.0.2.10.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\extra\webui-jsf-suntheme-4.0.2.10.jar
C:\Payara\payara41\glassfish\lib\install\applications__admingui\WEB-INF\lib\console-core-4.1.jar
C:\Payara\payara41\glassfish\lib\install\applications__cp_jdbc_ra__cp_jdbc_ra.jar
C:\Payara\payara41\glassfish\lib\install\applications__dm_jdbc_ra__dm_jdbc_ra.jar
C:\Payara\payara41\glassfish\lib\install\applications__ds_jdbc_ra__ds_jdbc_ra.jar
C:\Payara\payara41\glassfish\lib\install\applications__xa_jdbc_ra__xa_jdbc_ra.jar
C:\Payara\payara41\glassfish\lib\javaee.jar
C:\Payara\payara41\glassfish\lib\jndi-properties.jar
C:\Payara\payara41\glassfish\lib\monitor\flashlight-agent.jar
C:\Users\xxx.gradle\caches\modules-2\files-2.1\com.microsoft.sqlserver\sqljdbc4\4.2.6420.100\4d8a1bc64ddf2099dbc2a171e113f6654a1c02a6\sqljdbc4-4.2.6420.100.jar
C:\Users\xxx.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.10\5b338f206827d88acd890739f400a9b7664e5984\slf4j-api-1.7.10.jar
C:\Users\xxx.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.1.2\b316e9737eea25e9ddd6d88eaeee76878045c6b2\logback-classic-1.1.2.jar
C:\Users\xxx.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.1.2\2d23694879c2c12f125dac5076bdfd5d771cc4cb\logback-core-1.1.2.jar

BUILD SUCCESSFUL

I added the above dependencies to my run-time classpath, since it was a sucessful compilation.

My second question is why I am getting a class not found exception.

I have not added jndi.properties that I am aware of.

Any light that can be shed on any part of this issue will be greatly appreciated.

@smillidge
Copy link
Contributor

The portable name should be there. The Transient Context reference at java:global is a naming context that does further resolution if traversed so what's under that reference does not show up in list-jndi-entries. See #401 for a similar issue.

Can you try just adding gf-client.jar as described in #516 to your standalone client. Please note you must reference gf-client.jar from its path in the Payara installation as it references other jars via relative paths in its MANIFEST.

@mlb1141
Copy link
Author

mlb1141 commented Dec 3, 2015

Excerpted from my list of dependencies above:

C:\Payara\payara41\glassfish\lib\embedded\glassfish-embedded-shell.jar
C:\Payara\payara41\glassfish\lib\embedded\glassfish-embedded-static-shell.jar
C:\Payara\payara41\glassfish\lib\gf-client.jar
C:\Payara\payara41\glassfish\lib\install\applications\jaxr-ra\jaxr-ra.jar
C:\Payara\payara41\glassfish\lib\install\applications\jmsra\fscontext.jar

@mlb1141
Copy link
Author

mlb1141 commented Dec 3, 2015

Can you elaborate on this: However DO NOT MOVE the jar as in its Manifest Classpath entry

@smillidge
Copy link
Contributor

I think this is a bug. Please try replacing
orb-iiop.jar in the glassfish/modules directory with the attached one to see if the problem goes away (after renaming it from .zip to .jar)

Attached org-iiop.jar orb-iiop.zip

@mlb1141
Copy link
Author

mlb1141 commented Dec 6, 2015

How can I get a copy of 4.1.61? I looked in GitHub (new to me) and it was not obvious.

From: Steve Millidge [mailto:notifications@github.com]
Sent: Thursday, December 3, 2015 5:27 PM
To: payara/Payara
Cc: mlb1141
Subject: Re: [Payara] Problems with jndi lookup (#535)

I think this is a bug. Please try replacing
orb-iiop.jar with the attached one to see if the problem goes away (after renaming it from .zip to .jar)

Attached org-iiop.jar orb-iiop.zip https://github.com/payara/Payara/files/51469/orb-iiop.zip


Reply to this email directly or view it on GitHub #535 (comment) .Image removed by sender.

@smillidge
Copy link
Contributor

4.1.1.161 wont be released until the end of January 2016. Pre-release builds are available here built by Jenkins. http://www.payara.fish/upstream_builds However we are having Jenkins trouble at the moment so these are not up to date.

Pandrex247 pushed a commit to Pandrex247/Payara that referenced this issue Jan 28, 2022
FISH-968 Backup and Restore OSGi Cache when using Upgrade Tool
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants