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.
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
maybe this doc can help you
Views
Replies
Total Likes
Views
Replies
Total Likes
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("...");
Views
Replies
Total Likes
Views
Replies
Total Likes
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.
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
In LiveCycle ES4 your DSC_DEFAULT_EJB_ENDPOINT used to be "jnp://<servername>:1099" 1099 was the default port if you did not change it. That was JBoss 6.
In AEM Forms 6.x, from the moment when JBoss 7 was introduced, the remoting port changed to default 4447 but also the JNP protocol is not used any more.
If you upgraded your LC to AEM Forms 6.5 JEE but your external app still uses the old LiveCycle client jars then it will not be able to connect. The old jars use the wrong connection method.
You should recompile your Java application with the versions of the adobe jars that come in the SDK folder of AEM Forms JEE. This might also mean that you have to switch to a newer Java version, depending on how old the current Java program is and with which JDK it had been compiled. Currently you must use JDK 1.8.
And @workflowuser: it is correct that customers should consider the OSGi only version for new projects. But OSGi is not a solution for this problem and usually also not a replacement for the JEE functionalities. Moving a JEE application to OSGi is usually a major re-development on many levels (trust me, I have been doing it for some time now
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Replies
Total Likes
Views
Likes
Replies