Issue:
eHealth dashboards show "No Data to Display" in CAPC after upgrading an eHealth clustered environment.
The full "INFO" exception seen in PCService.log is:
INFO | Model-Invoker-35 | 2015-06-02 15:22:51,160 | com.ca.im.portal.plugins.ehealth.models.EhGetTrendDataModel
| Model 107800_6: viewTree.render
javax.xml.ws.soap.SOAPFaultException: Index: 0, Size: 0
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
at com.sun.proxy.$Proxy107.getTrendData(Unknown Source)
at com.ca.im.portal.plugins.ehealth.models.EhGetTrendDataModel$EhGetTrendDataModelCallable.call(EhGetTrendDataModel.java:1013)
at com.ca.im.portal.plugins.ehealth.models.EhGetTrendDataModel$EhGetTrendDataModelCallable.call(EhGetTrendDataModel.java:765)
at com.ca.im.portal.api.invoke.MethodInvoker$CallableWrapper.call(MethodInvoker.java:537)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.cxf.binding.soap.SoapFault: Index: 0, Size: 0
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:111)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1678)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1516)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1424)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:650)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:461)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:364)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134
Environment:
CAPC 2.4.x and up
eHealth 6.3.2.x
Cause:
Integration needs to be configured
Resolution:
Per https://support.ca.com/irj/portal/phpdocs?filePath=7/5637/eHealth_NPC_Integration_Guide.pdf the nhNpcSetup must must be run to configure the integration.
"Run the nhNpcSetup utility for all CA eHealth cluster systems to specify the credentials to pass from the back-end systems to the designated front-end system. Running this utility is the first, required step in the process of configuring the integration on CA eHealth clusters."
Additional Information:
Note: Do not run this utility for standalone CA eHealth systems. The first step for configuring a standalone CA eHealth system is to add CA eHealth as a data source
After running nhNpcSetup the "SOAPFaultException" noted above went away and dashbaords started filling in as expected. Please refer to the integration document noted above for further details.