Author Message
chani_deprecated
Joined: Apr 17, 2015
Messages: 147
Offline
Hi,

I am getting the following error while connecting to a web service:

org.apache.axis2.AxisFault: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

Variable Name: Exception stack trace
Variable Value: Error processing request EXCEPTION> org.apache.axis2.AxisFault: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.transport.http.HTTPSender.sendViaGet(HTTPSender.java:106) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:61) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:404) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:231) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531) at com.avaya.sce.runtime.connectivity.restws.Axis2RestStub.run(Axis2RestStub.java:190) at com.avaya.sce.runtime.connectivity.restws.Axis2RestStub.execute(Axis2RestStub.java:154) at com.avaya.sce.runtime.connectivity.restws.CallService.execute(CallService.java:370) at com.avaya.sce.runtime.Data.evaluateActions(Data.java:191) at flow.ReadTempXML.executeDataActions(ReadTempXML.java:79) at com.avaya.sce.runtime.Data.handleRequest(Data.java:104) at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1348) at com.avaya.sce.runtime.BasicServlet.handleRequest(BasicServlet.java:116) at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1348) at com.avaya.sce.runtime.Data.handleRequest(Data.java:153) at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1348) at com.avaya.sce.runtime.SubflowReturn.handleRequest(SubflowReturn.java:120) at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at com.avaya.sce.runtime.SCEServlet.forward(SCEServlet.java:1348) at com.avaya.sce.runtime.Data.evaluateActions(Data.java:211) at flow.subflow.CollectConfirmZipCode.ReturnZipResult.executeDataActions(ReturnZipResult.java:83) at com.avaya.sce.runtime.Data.handleRequest(Data.java:104) at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:96) at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:285) at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:190) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.ja...



When I am executing the application from local machine there isn't any issue and I am getting the web service response. However, when I am deploying it on the application server (Windows 2012 R2) I am getting the error.

Please advice on what needs to be done to correct it.

Thanks You
Chani Shrivastava
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
Refer to your earlier thread:
https://www.devconnectprogram.com/forums/posts/list/19208.page
chani_deprecated
Joined: Apr 17, 2015
Messages: 147
Offline
Hi,
I did the google search as mentioned by you and also searched the forum for any related post from the past but I am not able to figure out the exact solution.

Is there any concrete solution to this, some says change the slash based on the server type (windows/Linux), some are suggesting to change cacerts file in the java directory and there are a few which mentioned something on the truststore not getting set which I could not try as I was not sure where and how to do it.

Can you please let me know if there's any correct way to rectify this issue.

Thanks
Chani Shrivastava
chani_deprecated
Joined: Apr 17, 2015
Messages: 147
Offline
I have tried to locate the path for truststore on my local machine by using below mentioned command.
System.out.println("Trust Store path = "+ System.getProperty("javax.net.ssl.trustStore"));
I am getting "Null" Printed when this is getting executed and even after that webservice is getting called properly on my local machine.

When I am deploying my application on the app server the path for truststore is coming out to be null but webservice is not getting called and failing with error

Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty.

Can somebody please guide me on how to set the truststore?

NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
If you go to your OD Runtime Configuration servlet, there is a menu item for certificates. This will show you what certificates are in your java keystore and where that keystore is found. You can also add certificates to that keystore here. For the sake of discussion, keystore and truststore should be one in the same.
chani_deprecated
Joined: Apr 17, 2015
Messages: 147
Offline
Where is the OD Runtime Servlet located? Is it in the project or the folder where OD is stalled?
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
Please review the chapter - "Application Deployment" in your AAOD Dev Guide
Specifically the section:
"Orchestration Designer Admin (ddadmin) Web application configuration"

You might also want to look at the Web Services section as it does have some discussion on certificates.
chani_deprecated
Joined: Apr 17, 2015
Messages: 147
Offline
HI,

Can you please let me know if there is a way to get the console output (all the system.out.println statements I have inserted in the java files) on my trace.log file on the server where the application is deployed?

Thank you,
Chani Shrivastava
NeilGoldsmith
Joined: Nov 6, 2013
Messages: 902
Offline
system.out won't go to your trace logs. You should use

mySession.getTraceOutput().writeln(ITraceInfo.TRACE_LEVEL_DEBUG,"some debug here");
Go to:   
Mobile view