Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

Can connect the jndi connection protocol after upgrade from LC ES4 to AEM Forms 6.5

Avatar

Avatar
Validate 1
Level 1
ccp123456789
Level 1

Likes

0 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
View profile

Avatar
Validate 1
Level 1
ccp123456789
Level 1

Likes

0 likes

Total Posts

14 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
View profile
ccp123456789
Level 1

07-10-2020

Hi Everyone,

 

We encounter a problem after we upgrade the Livecycle ES4 to AEM Forms 6.5.

 

Here is the question, in the LC ES4 (Weblogic) we had developed a program and using the EJB Endpoint connection protocol to invoke the output service.

Similar as below:

Properties ConnectionProps = new Properties();  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "t3://<hostname>:7001");  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "WebLogic");  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");

 

Then, we upgrade to the AEM forms 6.5 (Jboss EAP 7.1.4) and trying to use the EJB Endpoint connection protocol to invoke the output service as below:

Properties ConnectionProps = new Properties();
 ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "remote://<hostname>:4447");
 ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);
 ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
 ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
 ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");

 

However, the error occurred.

com.adobe.livecycle.output.exception.OutputException: ALC-DSC-031-000: com.adobe.idp.dsc.net.DSCNamingException: Remo to EJBObject lookup failed for ejb/Invocation provider
at com.adobe.livecycle.output.client.OutputClient.generatePDFOutput(OutputClient.java:149)
at CreatePdf.CreatePDFFFromRepository.nain(CreatePDFFFromRepository.java:111)
Caused by: ALC-DSC-031-000: com.adobe.idp.dsc.net.DSCNamingException: Remote EJBObject lookup failed for ejb/Invocation provider
at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.initialise(EjbMessageDispatcher.java:101) at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.doSend(EjbMessageDispatcher.java:141)
at com.adobe.idp.dsc.provider.Impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:66) at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
at com.adobe.livecycle.output.client.OutputClient.invokeRequest(OutputClient.java:607)
at com.adobe.livecycle.output.client.OutputClient.generatePDFOutput(OutputClient.java:132)
... 1 more
Caused by: javax.naming.CommunicationException: Could not obtain connection to any of these urls: http://<hostname> :4447 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.n et.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to conne ct to server http:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server http: 1099 [Root exception is java.net.UnknownHostException: http: Name or service not known]]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1416)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:596)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at com.adobe.idp.dsc.provider.Impl.ejb.EjbMessageDispatcher.initialise(EjbMessageDispatcher.java:92) ... 6 more
Caused by: javax.naming.CommunicationException: Failed to connect to server http:1099 [Root exception is javax.naming .ServiceUnavailableException: Failed to connect to server http:1099 [Root exception is java.net.UnknownHostException: http: Name or service not known]]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:269)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1387)
... 10 more
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server http:1099 [Root exception is java.ne t.UnknownHostException: http: Name or service not known]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:243)
... 11 more
Caused by: java.net.UnknownHostException: http: Name or service not known
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at java.net.InetAddress.getByName(InetAddress.java:1077)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:76)
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:239)

 

We ensure the 4447 port is listening and able to telnet to the port. But we do not know why the error still happen and searching for the 1099 port.

 

Can some body please provide solution for it? Any responses are appreciated. Thank you.

AEM 6.5 ejb jndi LiveCycle
View Entire Topic

Avatar

Avatar
Ignite 5
Employee
workflowuser
Employee

Likes

133 likes

Total Posts

443 posts

Correct Reply

70 solutions
Top badges earned
Ignite 5
Ignite 3
Ignite 1
Give Back 50
Give Back 5
View profile

Avatar
Ignite 5
Employee
workflowuser
Employee

Likes

133 likes

Total Posts

443 posts

Correct Reply

70 solutions
Top badges earned
Ignite 5
Ignite 3
Ignite 1
Give Back 50
Give Back 5
View profile
workflowuser
Employee

07-10-2020

ccp123456789
Hi @workflowuser, I do read this document for update the protocol. But it cannot invoke the service and cause error.
ccp123456789
And the document is still suggest to use 1099 port which? I try to do the research online and it claims the 1099 port is replaced by 4447. Can anyone let me know is it correct? Thank you.
workflowuser

If they are calling via service client factory then they should use following code to instantiate serviceclientfactory for remote EJB invocation: Properties connectionProps = new Properties(); connectionProps.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "remote://formsserver:4447 "); connectionProps.setProperty("DSC_TRANSPORT_PROTOCOL", ServiceClientFactoryProperties.DSC_EJB_PROTOCOL); connectionProps.setProperty("DSC_SERVER_TYPE", ServiceClientFactoryProperties.DSC_JBOSS_SERVER_TYPE); connectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator"); connectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password"); ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);

Or they can use SOAP endpoint which does not require any change.

For remote EJB invocation from a client (this is completely JBoss code and no relation with Forms):

Properties props = new Properties();

props.setProperty("java.naming.factory.initial", "org.jboss.naming.remote.client.InitialContextFactory"); props.setProperty("java.naming.provider.url","remote://formsserver:4447" );

props.setProperty(javax.naming.Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

javax.naming.Context context = new InitialContext(props); context.lookup("...");

ccp123456789
Hi @workflowuser, I tried you approach with EJB invocation. And the result is the same as the above error message.
workflowuser

Looks like you are using older JBoss client libraries. Can use consider moving to SOAP protocol? That would be a lot easier and does not require any application server-specific client libraries.

ccp123456789
As they developed a java program for and working fine before. They are not willing to use SOAP. Also, what you mean is the problem will be solved if updated the .jar files?
workflowuser
you can try updating the jar files. Also i recommend you to consider using AEM Forms OSGi