Skip to Content
avatar image
Former Member

SAC Live Data Connection to SAP Universe (CORS)

Hi everyone,

I am trying to create a Live Data Connection to a SAP Universe on SAP BO 4.2SP4P7.

For the Path type, the issue is that everything inside the organization is set up with Nginx and not with Apache. Even tough I am able to reach from outside our CMC and BI.

1) Has anyone have played with Nginx?


For the Direct connection I use KBA 1185443 and 1648573 to enable SSL on Tomcat. In order to enalbe WACS based on two entries (blog and Q&A) I use KBA 1618311: WACS is running with errors.

I generate the keystore like follow based on KBA 2433337 and the last parameter I added because of a Chrome Warning (Subject Alternative Name). I also followed the KBA 2482807.

keytool.exe
-genkey -alias WACS -keysize 2048 -keyalg RSA -ext san=dns:server.domain.de
keytool.exe
-import -alias ca_alias -trustcacerts -file <ca_path>\ca-chain.cert.pem
-keystore <key_path>\.keystore

And I am able to access to the BO-Server with a secure connectio like https://<bo-server>:8443/BOE/CMC

2) I tried with port 443 & 8443 does this make any difference by direct connection?


We are trying to troubleshoot "Failed to connect to system". We tried both deployments with cs_ina_agent.war file then undeployed and delete the context from server.xml and rename sap#boc#ina.war and deployed. Still we are not able to connect. We followed this KBAS:

  • KBA 2523372 -> Failed to connect to system in SAP Analytics Cloud (BOC)
  • KBA 2525754 -> Failed to connect to system in SAP Analytics Cloud (BOC)
  • KBA 2544696 -> Failed to connect to system in SAP Analytics Cloud *** Master KBA ***

  • HTTPS Certificate: is secured
  • Authetication method: enterprise
  • CORS configuration: "javax.ws.rs.client.ClientException: java.net.SocketException: SocketException invoking http://<bo-server>:<cms-port>/biprws/logon/long: Connection reset"

  • KBA 2596646 -> Failed to connect to System in SAP Analytics Cloud (SAC)
  • KBA 2628148 -> Unauthorized from GetServerInfo for Live Data Connection to SAP Universes in SAP Analytics Cloud (SAC)
  • KBA 2628222 -> Live Data Connection to SAP Universes fails in SAP Analytics Cloud (SAC)
  • 3) Has anyone run into something like this?


    Thanks in advanced,

    Diana Chávez

    Add comment
    10|10000 characters needed characters exceeded

    • Get RSS Feed

    2 Answers

    • Best Answer
      May 18 at 06:04 PM

      Hello,

      So, it can be a little tricky, when the SSL certificate is self-signed. Let's check the SSL certificate is not the issue, since often it is.

      Clean your browser cache/history. Close the browser and start it up again.

      Get your browser to trust that certificate before you use the CORS connection. To do this, you need to go to your httpS://WEBAPPSERVER:8443/ (the host hosting the cs_ina_agent web app) and then click on the 'Advanced' - 'Proceed to localhost (unsafe)'.

      Then, when your browser uses CORS to connect directly to the host hosting the cs_ina_agent it won't complain about the lack of trust it has for the SSL certificate.

      Is your issue with both PATH (reverse proxy) and DIRECT (cors) connections? Which one works?

      Regards, Matthew

      Add comment
      10|10000 characters needed characters exceeded

    • avatar image
      Former Member
      May 22 at 12:50 PM

      Hi Matthew,

      Thanks for your answer.

      First I imported the chain certificate from my organization into the keystore. After that, the first time I try to access the BO-Server with HTTPS I was having an unsafe connection, but then I saw the certificate through F12 (Developer Tools), save it and imported into my trusted root certificates.

      I cleared the cache/history from my browser and when I gave httpS://WEBAPPSERVER:8443/sap/boc/ina/GetServerInfo and get the following message:

      {"Messages":[{"Type":2,"MessageClass":"javax.ws.rs.client.ClientException: javax.ws.rs.client.ClientException: java.net.SocketException: SocketException invoking http://<IP_WebAppServer>:6400/biprws/logon/long: Connection reset\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1121)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1072)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:878)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:852)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:312)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:321)\r\n\tat com.sap.csina.cloud.utils.HttpRestClient.PostJson(HttpRestClient.java:424)\r\n\tat com.sap.csina.cloud.boe.WebiRestClient.Login(WebiRestClient.java:368)\r\n\tat com.sap.csina.cloud.common.SessionManager.GetOrCreateWebiSession(SessionManager.java:35)\r\n\tat com.sap.csina.cloud.common.AuthenticationService.Authenticate(AuthenticationService.java:78)\r\n\tat com.sap.csina.cloud.connector.servlets.GetServerInfoServlet.doGet(GetServerInfoServlet.java:35)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\r\n\tat org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:458)\r\n\tat org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\r\n\tat org.apache.catalina.filters.RestCsrfPreventionFilter.doFilter(RestCsrfPreventionFilter.java:113)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)\r\n\tat org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)\r\n\tat org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.lang.Thread.run(Thread.java:808)\r\nCaused by: javax.ws.rs.client.ClientException: java.net.SocketException: SocketException invoking http://<IP_WebAppServer>:6400/biprws/logon/long: Connection reset\r\n\tat org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:576)\r\n\tat org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:558)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1116)\r\n\t... 38 more\r\nCaused by: java.net.SocketException: SocketException invoking http://<IP_WebAppServer>:6400/biprws/logon/long: Connection reset\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:423)\r\n\tat org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1347)\r\n\tat org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1331)\r\n\tat org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)\r\n\tat org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)\r\n\tat org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)\r\n\tat org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)\r\n\tat org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:635)\r\n\tat org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1071)\r\n\t... 37 more\r\nCaused by: java.net.SocketException: Connection reset\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:210)\r\n\tat java.net.SocketInputStream.read(SocketInputStream.java:141)\r\n\tat java.io.BufferedInputStream.fill(BufferedInputStream.java:246)\r\n\tat java.io.BufferedInputStream.read1(BufferedInputStream.java:286)\r\n\tat java.io.BufferedInputStream.read(BufferedInputStream.java:345)\r\n\tat sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746)\r\n\tat sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)\r\n\tat sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)\r\n\tat sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)\r\n\tat java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)\r\n\tat org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266)\r\n\tat org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1543)\r\n\tat org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1513)\r\n\tat org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318)\r\n\t... 43 more\r\n","Number":0,"Text":"javax.ws.rs.client.ClientException: java.net.SocketException: SocketException invoking http://<IP_WebAppServer>:6400/biprws/logon/long: Connection reset","ExceptionClass":"javax.ws.rs.client.ClientException"}]}<br>

      For the Path (Reverse Proxy), I am able to connect through Nginx to httpS://<domain>/BOE/CMC and also httpS://<domain>/BOE/BI but do not have a <path> define in the Ngnix configuration.

      I am focusing on the direct (CORS) connection. But none of them is working.

      Regards,

      Diana

      PS Found the error we used the port of the CMS on the boe.properties instead of the RESTfull Services, that was my mistake.

      Add comment
      10|10000 characters needed characters exceeded