cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Cloud Connector Problem

Abhinav_Sharma
Contributor
0 Kudos

Hi Gurus,

I am facing a problem while installing SAP Cloud Connector(Developer Edition) for my Windows 7, 64 bit system. I have followed the steps mentioned in the help

I have following things installed on my machine

1) jdk1.7.0_51 (64 bit JVM)

2) JAVA_HOME path sets to above JDK

3) Microsoft Visual Studio C++ 2010 runtime libraries installed as shown below

So all the pre-requisites are met. When I try to execute the go.bat file, SCC gets started and I can see the login page when I access https://localhost:8443 on my browser.

However, after entering the initial password, I got blank screen. I check the Ijs_trace.log file and as the log, following exception encountered:

2014 04 23 22:24:18#+0530#ERROR#com.sap.scc.jni##anonymous#Start Level Event Dispatcher###          #Cannot load the Cloud Connector native library. (exception java.lang.UnsatisfiedLinkError: no sapscc20jni in java.library.path)

Check if you have installed the Visual Studio 2010 runtime libraries in the correct version. (vcredist.msi)

The 64bit msi can be downloaded from http://www.microsoft.com/download/en/details.aspx?id=14632

|

2014 04 23 22:24:18#+0530#DEBUG#com.sap.scc##anonymous#Start Level Event Dispatcher###          #Init class CpicConnection|

2014 04 23 22:24:18#+0530#FATAL#com.sap.scc##anonymous#Start Level Event Dispatcher###          #Library sapscc20jni not loaded

java.lang.UnsatisfiedLinkError: com.sap.scc.jni.CpicConnection.init()V

  at com.sap.scc.jni.CpicConnection.init(Native Method)

  at com.sap.scc.jni.CpicConnection.initialize(CpicConnection.java:74)

  at com.sap.scc.jni.Activator.start(Activator.java:12)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)

  at java.security.AccessController.doPrivileged(Native Method)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)

  at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)

  at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)

  at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)

  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

  at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)|

2014 04 23 22:24:18#+0530#INFO#com.sap.scc.rt##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #BundleEvent STARTED|

2014 04 23 22:24:18#+0530#INFO#com.sap.scc.rt##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #BundleEvent STARTED|

2014 04 23 22:24:21#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #ServiceEvent REGISTERED|

2014 04 23 22:24:21#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #BundleEvent STARTED|

2014 04 23 22:24:21#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #ServiceEvent REGISTERED|

2014 04 23 22:24:21#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@5d0957b1###          #BundleEvent STARTED|

2014 04 23 22:24:34#+0530#ERROR#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[jsp]##anonymous#http-bio-8443-exec-3###          #Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.IllegalStateException: Cannot load the Cloud Connector native library. (exception java.lang.UnsatisfiedLinkError: com.sap.scc.jni.SecStoreAccess.getRecord(Ljava/lang/String;)[C)

Check if you have installed the Visual Studio 2010 runtime libraries in the correct version. (vcredist.msi)

The 64bit msi can be downloaded from http://www.microsoft.com/download/en/details.aspx?id=14632

] with root cause

java.lang.UnsatisfiedLinkError: com.sap.scc.jni.SecStoreAccess.getRecord(Ljava/lang/String;)[C

  at com.sap.scc.jni.SecStoreAccess.getRecord(Native Method)

  at com.sap.scc.jni.SecStoreAccess.getRec(SecStoreAccess.java:126)

  at com.sap.scc.jni.SecStoreAccess.getRecAsString(SecStoreAccess.java:176)

  at com.sap.scc.config.HttpsProxyValue.loadFromStorage(HttpsProxyValue.java:68)

  at com.sap.scc.config.SccConfig.<init>(SccConfig.java:94)

  at com.sap.scc.config.SccConfig.getInstance(SccConfig.java:70)

  at org.apache.jsp.main_jsp._jspService(main_jsp.java:114)

  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at com.sap.scc.ui.rt.UTF8Filter.doFilter(UTF8Filter.java:23)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)

  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

  at java.lang.Thread.run(Thread.java:744)|

Please help.

Accepted Solutions (1)

Accepted Solutions (1)

Abhinav_Sharma
Contributor

The library sapscc20jni.dll was not available in the C:\Windows\System32. I copied the sapscc20jni.dll from Auditor and placed the same in the above directory. It worked!

Regards

Abhinav

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Abhinav,

the sapscc20jni.dll should *NOT* be copied to C:\Windows\System32. That will cause problems later, when you install a patch for the SCC, which contains a new version of that library: the SCC will continue to use the "old" library from system32 instead of the new one that came with the patch! This can lead to all kinds of "unexplainable" symptoms and conflicts...

Instead we should investigate, why the Java process was not able to find the library in its original location. Did you use the installer or the zip file? In what directory did you find the sapscc20jni.dll, before you copied it to system32?

Best Regards, Ulrich

Abhinav_Sharma
Contributor
0 Kudos

Hi Ulrich,

Thanks for the advice. I agree that this should not be the recommended approach. I removed the directory and again when I login to SCC, I see a blank screen without any control. This means that the required dll file is not getting loaded.

In ljs_trace log file I see following error:

#Cannot load the Cloud Connector native library. (exception java.lang.UnsatisfiedLinkError: no sapscc20jni in java.library.path)

Check if you have installed the Visual Studio 2010 runtime libraries in the correct version. (vcredist.msi)

The 64bit msi can be downloaded from http://www.microsoft.com/download/en/details.aspx?id=14632

|

2014 04 24 17:10:08#+0530#DEBUG#com.sap.scc##anonymous#Start Level Event Dispatcher###          #Init class CpicConnection|

2014 04 24 17:10:08#+0530#FATAL#com.sap.scc##anonymous#Start Level Event Dispatcher###          #Library sapscc20jni not loaded

java.lang.UnsatisfiedLinkError: com.sap.scc.jni.CpicConnection.init()V

  at com.sap.scc.jni.CpicConnection.init(Native Method)

  at com.sap.scc.jni.CpicConnection.initialize(CpicConnection.java:74)

  at com.sap.scc.jni.Activator.start(Activator.java:12)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)

  at java.security.AccessController.doPrivileged(Native Method)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)

  at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)

  at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)

  at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)

  at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)

  at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)

  at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

  at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)|

2014 04 24 17:10:08#+0530#INFO#com.sap.scc.rt##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #BundleEvent STARTED|

2014 04 24 17:10:08#+0530#INFO#com.sap.scc.rt##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #BundleEvent STARTED|

2014 04 24 17:10:10#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #ServiceEvent REGISTERED|

2014 04 24 17:10:10#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #BundleEvent STARTED|

2014 04 24 17:10:10#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #ServiceEvent REGISTERED|

2014 04 24 17:10:10#+0530#INFO#com.sap.scc.web.component##anonymous#com.sap.core.js.logging.bridge.OSGILogListener@402c99f9###          #BundleEvent STARTED|

2014 04 24 17:10:20#+0530#ERROR#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[jsp]##anonymous#http-bio-8443-exec-10###          #Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.IllegalStateException: Cannot load the Cloud Connector native library. (exception java.lang.UnsatisfiedLinkError: com.sap.scc.jni.SecStoreAccess.getRecord(Ljava/lang/String;)[C)

Check if you have installed the Visual Studio 2010 runtime libraries in the correct version. (vcredist.msi)

The 64bit msi can be downloaded from http://www.microsoft.com/download/en/details.aspx?id=14632

] with root cause

java.lang.UnsatisfiedLinkError: com.sap.scc.jni.SecStoreAccess.getRecord(Ljava/lang/String;)[C

  at com.sap.scc.jni.SecStoreAccess.getRecord(Native Method)

  at com.sap.scc.jni.SecStoreAccess.getRec(SecStoreAccess.java:126)

  at com.sap.scc.jni.SecStoreAccess.getRecAsString(SecStoreAccess.java:176)

  at com.sap.scc.config.HttpsProxyValue.loadFromStorage(HttpsProxyValue.java:68)

  at com.sap.scc.config.SccConfig.<init>(SccConfig.java:94)

  at com.sap.scc.config.SccConfig.getInstance(SccConfig.java:70)

  at org.apache.jsp.main_jsp._jspService(main_jsp.java:114)

  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at com.sap.scc.ui.rt.UTF8Filter.doFilter(UTF8Filter.java:23)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)

  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

  at java.lang.Thread.run(Unknown Source)|

Now I do have the required libraries on my machine( Windows 7 64 bit as when I placed the sapscc20jni.dll from the Auditor directory to System32, it worked ).

I am using following version of SCC

Windows (Developer)x86_642.2.0

It would be really helpful for the community if you can throw some light on this error. Thanks!

Regards

Abhinav

Message was edited by: Abhinav S

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Abhinav,

you don't need to repeat that entire huge error message, I have already read it in your first post...

The error message from the Java VM is quite clear: "no sapscc20jni in java.library.path" It cannot find the file. So most probably something went wrong during the installation. This was the reason, why I asked the following questions in my previous note:

"Did you use the installer or the zip file? In what directory did you find the sapscc20jni.dll, before you copied it to system32?"

Best Regards, Ulrich

Abhinav_Sharma
Contributor
0 Kudos

Hi Ulrich,

Apologies. I got little carried away .

I have used the Developer edition i.e. Zip file and I copied the sapscc20jni.dll from auditor directory of the Zip file.

Regards

Abhinav

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Abhinav,

> I got little carried away

Hehe...

Well, in the developer version, when you start the SCC via go.bat, it extracts and initializes a few OSGI bundles during the first startup. In that process the DLL is extracted to some directory like

D:\scc20_server\configuration\org.eclipse.osgi\bundles\486\9\.cp\lib\sapscc20jni.dll

(in my case). This must have failed.

(The DLL in auditor is meant for command line tools, like for managing the Secure Store or for verifying AuditLog digital signatures. But it's not used by the OSGI framework.)

The path "configuration\org.eclipse.osgi\bundles\" is always the same. The following numbers are determined at runtime so change from installation to installation. (In my case it's 486\9\ ) The rest is then identical.

You can find out the numbers in your installation as follows:

  1. Start go.bat from a command prompt and wait until it has finished starting up.
  2. Then on the command line you can type "ss scc". This will give you output as follows:

    osgi> ss scc

    Framework is launched.

    id      State      Bundle
    486    ACTIVE      com.sap.scc.rt_0.7.1.201404020734
    487    RESOLVED    com.sap.scc.tomcat.utils_0.7.1.201404020734
                        Master=47
    488    ACTIVE      com.sap.scc.web.component_0.7.1.201404020734

  3. Here you need to look for a bundle name com.sap.scc.rt_<some version number>. In my case the id is 486, in your installation it might be different.
  4. Now check, a) whether the State of that bundle is ACTIVE and also, whether the corresponding subdirectory with the sapscc20jni.dll file exists.

If the file is there, but only the first initialization process of the bundle had a problem, it sometimes helps to restart the bundle. This can be done by typing the following on the console:

osgi> stop 486

osgi> start 486

Does this help? (Wait a minute or so after each command.) I will also ask our OSGI gurus over here in case the file is missing in your installation and we need to trigger the re-extraction of the bundle.

Edit: this html editor drives me crazy!!!

Abhinav_Sharma
Contributor
0 Kudos

Hi Ulrich,

So I followed the steps that you mentioned and found the following components

Now when I looked for 149 sub directory under the path that you mentioned, it was not there and so does the sapscc20jni.dll. Also, out of curiosity, I checked all other directories, but of no use. So does that means, my zip extraction is corrupted?

The whole issue is turning out to be curious case for Sherlock Holmes, I guess.

Regards

Abhinav

Ulrich_Schmidt
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Abhinav,

please check in the plugins directory, whether there is a file com.sap.scc.rt_0.7.0.jar and whether it can be opened with WinZip or WinRar and whether it contains the sapscc20jni.dll.

If that jar file is ok, only something during the first startup failed. (Last week we had someone, who first started the SCC accidentally with a 32bit Java VM, which resulted in the initialization process failing, as it could not use 64bit DLLs.)

In that case we could try again by just stopping the SCC, deleting all subdirs in the "bundles" directory and and also the "p2" directory and then starting go.bat again.

If that doesn't work (or if the jar file or the original zip installer show errors when checked with WinZip/WinRar), then it is perhaps safer to download it again and do a fresh installation (in a clean directory)?! Who knows, what else might have been not correctly extracted?!

Best Regards, Ulrich

Abhinav_Sharma
Contributor
0 Kudos

Hi Ulrich,

Finally, I gave up and deleted the older version as you suggested and installed the same in new directory. Now, it works fine, everything looks good.. and we can say that once again Sherlock Holmes solved the mystery.

Thanks!

Abhinav

Answers (0)