cancel
Showing results for 
Search instead for 
Did you mean: 

SAP-JCO connection from Google app engine --> SAP System not working

Former Member
0 Kudos

We are successfully configured the SAP-JCO in java, we tested using the normal java programmming using main method.

if i configures same thing in google app engine we are getting the following exception please any body help us to solve this problem

Initializing AppEngine server

Aug 17, 2010 9:44:50 AM com.google.apphosting.utils.jetty.JettyLogger info

INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

Aug 17, 2010 9:44:50 AM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml

INFO: Successfully processed C:\project-smartstore\gwt-jco\war\WEB-INF/appengine-web.xml

Aug 17, 2010 9:44:51 AM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml

INFO: Successfully processed C:\project-smartstore\gwt-jco\war\WEB-INF/web.xml

The server is running at http://localhost:8888/

Aug 17, 2010 9:45:28 AM com.google.appengine.tools.development.ApiProxyLocalImpl log

SEVERE: [1282038328164000] javax.servlet.ServletContext log: Exception while dispatching incoming RPC call

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean com.atp.jco.client.GreetingService.get()' threw an unexpected exception:

java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.ExceptionInInitializerError

at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)

at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)

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

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

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)

at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:51)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:349)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:326)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)

at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Caused by: java.lang.ExceptionInInitializerError: Error getting the version of the native layer: java.lang.ExceptionInInitializerError

at com.sap.conn.jco.rt.MiddlewareJavaRfc.<clinit>(MiddlewareJavaRfc.java:212)

at com.sap.conn.jco.rt.DefaultJCoRuntime.initialize(DefaultJCoRuntime.java:73)

at com.sap.conn.jco.rt.JCoRuntimeFactory.<clinit>(JCoRuntimeFactory.java:23)

at com.sap.conn.jco.rt.RuntimeEnvironment.<init>(RuntimeEnvironment.java:40)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance_(Runtime.java:112)

at com.google.appengine.tools.development.agent.runtime.Runtime.newInstance(Runtime.java:132)

at com.sap.conn.jco.ext.Environment.getInstance(Environment.java:121)

at com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(Environment.java:216)

at com.atp.jco.manager.proj.Connection.<init>(Connection.java:26)

at com.atp.jco.manager.proj.ConnectionTester.getConnectionStatus(ConnectionTester.java:18)

at com.atp.jco.server.GreetingServiceImpl.get(GreetingServiceImpl.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:100)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)

... 30 more

Thanks

Chandrashaker Gattu

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello all,

The thing that wished to be done in this thread is also the one of the questions that I wonder much about its answer.

As asked above, I would like to learn if it is possible to build a connection between "Google App Engine" and SAP. If it seems possible to do that, what would be the potential way for building that connection? Which steps do we have to follow? Could anyone advice something for that?

Thanks and regards,

Mustafa

Former Member
0 Kudos

Hi,

the problem is that you do not only need to deploy the jar files but also the native object files (e.g. saprfc32.dll, sapjcorfc.dll, or libsapjco3.so). With google app engine, you might not even know which system you are on and it might not be possible to install these files.

If you really need to work with google app engine you might sort this out by using the web services that the SAP system offers.

Former Member
0 Kudos

We are using the jco 3.0.5 version

OS: Windows 7 premium

we are copied the sapjco3.jar and sapjco3.dll to lib folder and other appengine jars

can you please us to know any files related to sap-jco are miseed or not

Thanks

Chandra shaker Gattu

Former Member
0 Kudos

we are planning to solve this problem using web-services as you are suggested,

but we are trying to connect to SAP r/3 4/6c and 4.7 which do not have explicit suport for web service, please help us in this

issue.