JCo Connectivity
I have a "behind the curtain" questions about the JCo connection. Some things are surprising for me. It did some R&D with Packetyzer (Network Analysis).
a) When I add a connection to a pool, this takes some time (220ms), but I do not see any packets sent.
JCO.addClientPool(SID, 10, PoolPerformance.login_params);
//key of the pool / max.connections -> no network connectivity, but takes about 200ms
b) If I create another client now, this takes almost no time. Client client = JCO.createClient(....)
If I do not do the JCO.addClientPool before, it takes about 200ms
=> Conclusion:
Somehow the first Client created initializes some kind of structure, not sending data yet. Guess it does some network binding.
c) The first network traffic is visible when I create the function template IFunctionTemplate ftemplate = repository.getFunctionTemplate("RFC_SYSTEM_INFO");
Questions:
========
1) Is it, that the logon to SAP takes place in the moment when the client is first used (in my case at c)?
2) Considering my observations, what is the use of pools anyway? Because a pool is - unlike in JDBC - not a bunch of existing established connections (because I do not see any network data in a). What is your experience with this?
in my option the 200ms are the time jco requires to load the rfc libraries (dll´s on windows), but i´m not quite sure about this
answer 1: looks like if the connection to sap takes places the first time a client is needed, but there will still be pooling, because if you get a connection through a pool JCO.getClient(POOL_NAME) and then release it back through JCO.releasClient (client) the connection won´t be closed (until the timeout has been reached), so the next time a connection is opened through the pool there is no need to do a logon for this connection any more.
answer 2: there is a use for connection-pooling
there will be bunch of existing connection, but it looks jco starts to open connections only if they are needed, and there are no open connections inside the pool. So for connections over a period of time the logon procedure will only be done once.
Another use of pooling is the possibility to limit the number of concurrent connections -> useful to avoid performance problems in your backend sap system.
have a look at the documenting (pdf) shipping with jco for more detailed information
regards
franz
Similar Messages
-
JCO connection pool is exhausted
hi
I am using RFC module in my web dynpro application. When the application is used for sometime, the JCO connection will get exhusted. The JCO connection will not release itself. I can't find any method in web dynpro to release the connection manually. How can I solve this problem?Hi,
What is scope of the connection. View properties of MODELDATA and METADATA destinations.
You can change the scope of the connection..
or
wdContext.current<BAPI INPUT>Element().modelObject().modelInstance().disconnectIfAlive();
For more ways , give a forum search.. There are a lot of close forum posts.. Gud luc..
Regards
Bharathwaj -
Problem with JCo Connection Pool
Hi,
I have a problem with using an RFC Model in my WebApplication. So sometimes the access to the function block works, and sometimes it doesn't work. Now I know, that there is a problem with the connection pool. Look at this message:
com.sap.mw.jco.JCO$Exception: (106) JCO_ERROR_RESOURCE: Connection pool WD_X24_MODELDATA_DEST_CPIC_REKTO_DE_useDefinedUser is exhausted. The current pool size limit (max connections) is 10 connections.
So it looks like a problem with closing the JCo Connections after using. Do know where the problem is? Because I'm using many other function blocks with no problems.Hello,
You need to increase the pool size via Visual Administrator.
Server 0 -> Services -> JCO RFC Connections.
Change the pool size from there. I believe a restart is in order.
Regards,
Jan -
Unable to close metadata jco connection
Hi Experts,
when checking the JCo Connection Pools in Web Dynpro Console, I found that all MetaData JCo are in use and unable to disconnect automatically.
the following is metadata jco destination setting
Maximal Pool Size 1
Maximum Connections 5
Connection Timeout 60
Maximum Wait Time 10
how can i do to close these jco connection?Hi Sidney,
I dont really understand why you want to remove the Jco connections. If you click on the "Remove" button as posted earlier by someone, it will completely remove your Jco configurations and you have to create them again on your own. SO, dont do that.
If you want to disconnect the Jco connection in webdynpro java, we can do that by using the following piece of code at the end of the connection process.
As far as I know, by default the Jco connections gets disconnected after certain time limit. Because, I never had to disconnect the Jco whenever I used one.
wdContext.currentModelElement().modelObject().modelInstance().disconnectIfAlive()
Regards,
Gopal. -
How to use a JCO connection pool in an EJB?
Hi *,
I want to build a WebService using SAP Web AS (J2EE Engine) that connects to a R/3 ERP (release 4.7).
I thought of building a stateless session bean that will be deployed as webservice. The session bean shall connect to the R/3 in order to call some BAPIs. I'd like to use a JCO connection pool. But I'm not sure, where I should create and destroy the connection pool. Are the EJB methods ejbCreate() and ejbRemove() the right ones? If so, my businness methods would just have to get a connection from the pool and call the BAPIs, right? If not, what do you suggest?
Another question: I already deployed a bean as webservice. Since not really knowing how to use the connection pool, I created a bean with one business method that creates a connection pool whenever it gets called. But if I have to change something in the bean so that I have to redeploy the bean I can't call my business method anymore, because JCO cannot load a native library once again, as it is already loaded, This leads to an exception. So I have to restart the complete engine everytime I redeploy my bean. Are there any workarounds for this problem? I'm not sure whether this is connected to the wrong use of the JCO connection pool.
Kind regards,
LarsHi *,
I want to build a WebService using SAP Web AS (J2EE Engine) that connects to a R/3 ERP (release 4.7).
I thought of building a stateless session bean that will be deployed as webservice. The session bean shall connect to the R/3 in order to call some BAPIs. I'd like to use a JCO connection pool. But I'm not sure, where I should create and destroy the connection pool. Are the EJB methods ejbCreate() and ejbRemove() the right ones? If so, my businness methods would just have to get a connection from the pool and call the BAPIs, right? If not, what do you suggest?
Another question: I already deployed a bean as webservice. Since not really knowing how to use the connection pool, I created a bean with one business method that creates a connection pool whenever it gets called. But if I have to change something in the bean so that I have to redeploy the bean I can't call my business method anymore, because JCO cannot load a native library once again, as it is already loaded, This leads to an exception. So I have to restart the complete engine everytime I redeploy my bean. Are there any workarounds for this problem? I'm not sure whether this is connected to the wrong use of the JCO connection pool.
Kind regards,
Lars -
Single Webdynpro Application with multiple JCO Connection ?
Hi Experts,
I have a strange requirement ......
We have a Webdynpro Application which is connected to
say (using JCO connection)
client:- A
now i want to connect the same Webdynpro application to
Client:- B which is again in the same server as the client A.
Please help me how to handle this.
how it possible to connect a single Webdynpro application to two different clients using JCO Connection.
Please help.
Points would be rewarded to helpful answers.
Regards,
Sanjyoti.Hi experts
We have to use wd application for both client at a same time e.g. as follow
Client A -
> Travel app--->Featches data from A for employee hired in client A ,in same server as B
Client B -
> Travel app--->Featches data from B for employee hired in client B , in same server as A
we are using same EP for both client but using diffrent roles for employees of both client.
Please reply asap. -
Error while obtaining JCO connection when creating JCO connection
Hey,
im having a problem when creating a JCO connection in the Web Dynpro Content Administrator. Creating the Modeldata (Application Data Data type) JCO Worked but when creating the JCO for the RFC Metadata (Dictionary Meta data) there is a problem:
In step 3.2 Msg server connection I cannot specify a system name and logon group, only the message server can be selected with the dropdown box.
After pushing the finish button i get the following stacktrace:
Failed to create new JCO client connection WD_RFC_METADATA_DEST: com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscapeException: Error while obtaining JCO connection. at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:150) at
com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.createJCOClientConnection(SystemLandscapeFactory.java:356) at
com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.createJCOClientConnection(WDSystemLandscape.java:107) at
com.sap.tc.webdynpro.tools.sld.ButtonBar.onActionFinish(ButtonBar.java:224) at com.sap.tc.webdynpro.tools.sld.wdp.InternalButtonBar.wdInvokeEventHandler(InternalButtonBar.java:265) at
com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at
com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at
com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101) at
com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304) at
com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649) at
com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59) at
com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248) at
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154) at
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116) at
com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at
com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at
com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at
com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at
com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at
com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at
com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at
com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at
java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95) at
com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:160) Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to resolve connection parameter for WD_RFC_METADATA_DEST at
com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestinaton(JCOClientConnection.java:664) at
com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter(JCOClientConnection.java:508) at
com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.init(AbstractJCOClientConnection.java:248) at
com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.<init>(AbstractJCOClientConnection.java:222) at
com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.<init>(JCOClientConnection.java:101) at
com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:148) ... 30 more Caused by: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:393) at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestinaton(JCOClientConnection.java:558) ... 35 more
We are running WebAS 640 SP 14 on Unix.
Greetings,
Hannes
Message was edited by: Hannes DeflooHi
Please configure your SLD. Your SLD holds the system definition. Define a SAP WebAS abap system and then try to create a Metadata connection using WebDynpro content administrator. Now you will be able to see the msg server defined in the dropdown. Also ensure that you have the message server entry in your services file.
Refer these links for SLD
http://help.sap.com/saphelp_nw04/helpdata/en/c9/dc37520bdf4b48bb8f6d4329f073d5/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/24/8fa93e08503614e10000000a114084/content.htm
Hope that helps.
regards
Ravi -
Error while creating jco connection for metadata?
Hi all,
we are using ep 6 sp 16.
I could create the JCO connection for application data but i am not able to create the jco connection for metadata for the same r3 server .
while creating the the connection
system name and logon group and disable
and when i click finish
it is giving following error
Failed to create new JCO client connection testmetadata: com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscapeException: Error while obtaining JCO connection. at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:150) at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.createJCOClientConnection(SystemLandscapeFactory.java:356) at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.createJCOClientConnection(WDSystemLandscape.java:107) at com.sap.tc.webdynpro.tools.sld.ButtonBar.onActionFinish(ButtonBar.java:224) at com.sap.tc.webdynpro.tools.sld.wdp.InternalButtonBar.wdInvokeEventHandler(InternalButtonBar.java:265) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59) at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:180) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to resolve connection parameter for testmetadata at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestination(JCOClientConnection.java:670) at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter(JCOClientConnection.java:486) at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.init(AbstractJCOClientConnection.java:252) at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.<init>(AbstractJCOClientConnection.java:226) at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:148) at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.createJCOClientConnection(SystemLandscapeFactory.java:356) at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.createJCOClientConnection(WDSystemLandscape.java:107) at com.sap.tc.webdynpro.tools.sld.ButtonBar.onActionFinish(ButtonBar.java:224) at com.sap.tc.webdynpro.tools.sld.wdp.InternalButtonBar.wdInvokeEventHandler(InternalButtonBar.java:265) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59) at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:180) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:606) at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter4MsgServerJCODestination(JCOClientConnection.java:564) at com.sap.tc.webdynpro.serverimpl.wdc.sl.JCOClientConnection.resolveConnectionParameter(JCOClientConnection.java:486) at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.init(AbstractJCOClientConnection.java:252) at com.sap.tc.webdynpro.serverimpl.core.sl.AbstractJCOClientConnection.<init>(AbstractJCOClientConnection.java:226) at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.getJCOClientConnection(SystemLandscapeFactory.java:148) at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.createJCOClientConnection(SystemLandscapeFactory.java:356) at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.createJCOClientConnection(WDSystemLandscape.java:107) at com.sap.tc.webdynpro.tools.sld.ButtonBar.onActionFinish(ButtonBar.java:224) at com.sap.tc.webdynpro.tools.sld.wdp.InternalButtonBar.wdInvokeEventHandler(InternalButtonBar.java:265) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304) at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59) at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:180) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Thanking.
RajendraHello Rajendra,
Good to hear from u. Let me try to give a soln for this problem of yours.
I think probably the logon group has not been specified in the backend.If thats the case then do the following:
Connect to the backend server for which you are trying to create the JCO. Run the transaction SMLG. It will show u the existing logon groups. carry out the following steps if the 'PUBLIC' group is not present in the list of logon groups.
Click on the create button. In the pop-up, type the logon as 'PUBLIC'. For the instance, select the F4 help and choose the existing instance number. Click on copy and click save. Try running the transaction /nsmlg and now it should show the logon group 'PUBLIC'.
When you create the JCO connection, it should now show the logon group 'PUBLIC'.
Regards,
Prathamesh. -
Error while obtaining JCO connection.
Hi I'm trying to put in place since BW-SEM RSPLAN the transaction, I'm pointing at my portal from the transaction RSPLSA
But when it signs the user gets the message Error while obtaining JCO connection.
I was reviewing my WebDynpro on my site by following these steps:
1 I will http://portal:port
2 I clicked Webdynpro
3 I click on Content Administrator
I clicked on 4 Maintain JCO destinations
and then I log shows the following:
Failed to process request. Please contact your system administrator.
[Hide]
Error Summary
While processing the current request, an exception occured which could not be handled by the application or the framework.
If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
Root Cause
The initial exception that caused the request to fail, was:
java.lang.NullPointerException
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.checkStatus(SystemLandscapeFactory.java:991)
at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.checkStatus(WDSystemLandscape.java:485)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.updateJCOClientStatus(JCOConnectionsDetails.java:480)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.addJCOClientToList(JCOConnectionsDetails.java:699)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.addJCOClientToList(JCOConnectionsDetails.java:663)
... 39 more
See full exception chain for details.
System Environment
Client
Web Dynpro Client Type HTML Client
User agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Version null
DOM version null
Client Type ns7
Client Type Profile nn7
ActiveX disabled
Cookies enabled
Frames enabled
Java Applets enabled
JavaScript enabled
Tables enabled
VB Script enabled
Server
Web Dynpro Runtime Vendor: SAP, build ID: 7.0014.20071210061512.0000 (release=645_VAL_REL, buildtime=2007-12-10:05:23:29[UTC], changelist=470565, host=pwdfm101), build date: Wed Oct 01 12:15:02 CDT 2008
J2EE Engine 7.00 patchlevel 109886.44
Java VM IBM J9 VM, version:2.3, vendor: IBM Corporation
Operating system AIX, version: 5.3, architecture: ppc64
Session & Other
Session Locale en_US
Time of Failure Thu Nov 06 16:00:23 CST 2008 (Java Time: 1226008823202)
Web Dynpro Code Generation Infos
sap.com/tcwdtools
No information available null
sap.com/tcwddispwda
No information available null
sap.com/tcwdcorecomp
No information available null
Detailed Error Information
Detailed Exception Chain
java.lang.NullPointerException
at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.checkStatus(SystemLandscapeFactory.java:991)
at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.checkStatus(WDSystemLandscape.java:485)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.updateJCOClientStatus(JCOConnectionsDetails.java:480)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.addJCOClientToList(JCOConnectionsDetails.java:699)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.addJCOClientToList(JCOConnectionsDetails.java:663)
at com.sap.tc.webdynpro.tools.explorer.JCOConnectionsDetails.wdDoInit(JCOConnectionsDetails.java:121)
at com.sap.tc.webdynpro.tools.explorer.wdp.InternalJCOConnectionsDetails.wdDoInit(InternalJCOConnectionsDetails.java:262)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:445)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.bind(ViewManager.java:555)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.makeVisible(ViewManager.java:789)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.performNavigation(ViewManager.java:296)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:767)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.navigate(ClientComponent.java:881)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doNavigation(WindowPhaseModel.java:498)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:144)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
What should I do??Hi Antonio,
Follow the below note for Jco related troubleshooting.
https://service.sap.com/sap/support/notes/919850
Are you able to see the 4 Jco connections green?
Regards,
Debasis. -
Error while obtaing JCO connection
In Bussiness planning in portal. When i click Planning tab in Enterprise portal, its throwing an error that "error while obtaining JCO connection". I cant proceed furtherI
I am working in my own system.
I have checked many posts and i have done some JCO destinations as per the instructions but it's vain.
The detailed error is as follows;
500 Internal Server Error
Web Dynpro Container/SAP J2EE Engine/6.40
Failed to process request. Please contact your system administrator.
Error Summary
While processing the current request, an exception occured which could not be handled by the application or the framework.
If the information contained on this page doesn't help you to find and correct the cause of the problem, please contact your system administrator. To facilitate analysis of the problem, keep a copy of this error page. Hint: Most browsers allow to select all content, copy it and then paste it into an empty document (e.g. email or simple text file).
Root Cause
The initial exception that caused the request to fail, was:
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: ComponentUsage(CharRelInst): Active component must exist when getting interface controller. (Hint: Have you forgotten to create it with createComponent()? Should the lifecycle control of the component usage be "createOnDemand"?
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.ensureActiveComponent(ComponentUsage.java:773)
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:348)
at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceController(ComponentUsage.java:335)
at com.sap.ip.bi.plan.workbench.wdp.InternalInfoprovController.wdGetCharRelInstInterface(InternalInfoprovController.java:296)
at com.sap.ip.bi.plan.workbench.InfoprovController.checkSavable(InfoprovController.java:254)
... 48 more
please give some pointers like what needs to be done JCO settings in Backend.
Thanks in advance.Niranjan,
3 causes and many more....
First and most probable cause is that your CR content in SLD is old....
FIX - to fix this download latest cimsap and crcontent from service.sap.com and implement in SLD.
Second cause user is locked
FIX - unlock in R/3
Third cause could be that the connection pool in JCO is exhausted.
FIX - increase connection pool in JCO.
More causes.
With this new version it appears that any error before connection is created ends up showing this, so I would really go into default trace and look there for original errors, that is the way I found JCO pool was exhausted, that error was not being forwarded and instead it was showing this error...
reward points if helpful -
Class not found error while establishing a jco connection
Hi
I am trying to establish a JCo connection in Java class.
public static void main(String s[])
try {
...// set connection properties
connClient.connect();
} catch (Exception ex)
ex.printStackTrace();
System.exit(1);
It is throwing runtime error on line connClient.connect();
java.lang.NoClassDefFoundError
at com.sap.mw.jco.MiddlewareJRfc$Client.connect(MiddlewareJRfc.java:1079)
at com.sap.mw.jco.JCO$Client.connect(JCO.java:3256)Hi Saurabh,
Please refer to below for calling JCo connection in Java class..
http://help.sap.com/saphelp_nw04/helpdata/en/b6/55e3952a902447847066a0df27b0d6/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/ed/89746bea5011d6b2e800508b6b8a93/content.htm
Hope it helps
Regards
Arun -
Error while creating a JCO Connection
Hi i am trying to create a JCO Connection from sapj2ee engine
my problem is i am getting an error connection to msg server host failed ..
When i select the Message Server the System Name and Logon Group fields are disabled and cannot be modified and the problem is there is a default system name field already present there which remains there irrespective of whther i change
the msg server...
why is this happening...
regards
Nilesh Taunk.Hi Nilesh,
exactly follow this link for the set up in Visual Admin..
http://help.sap.com/saphelp_nw04/helpdata/en/ea/cd2e807e0e45bf9da67354f452fc05/content.htm
then refer these forums also...
Re: Metadata problem
i have already explained in step by step setting up of SLD.. in thisforum... refer this also
Re: getting a BAPI from an R/3 system
Regards
Kishor Gopinathan -
Error while trying to creat a RFC_METADATA JCo Connection to R/3 system
hi,
i have installed the EP . when i am trying to maintain the JCo connection for RFC_METADATA i am getting an error.
the error states : "com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed Connect_PM TYPE=B MSHOST=esuides GROUP=PUBLIC R3NAME=ESR MSSERV=sapmsESR PCS=1 ERROR Group PUBLIC not found TIME Fri Aug 26 14:46:24 2005 RELEASE 640 COMPONENT LG VERSION 5 RC -6 MODULE lgxx.c LINE 3515 DETAIL LgIGroup COUNTER 1"
cna you please tell me how to resolve this error.
thanks
-udayHi Uday,
you have to create a logon Group named PUBLIC with Transaction SMLG in your Backend system. Also don't forget to add the line:
sapmsXYZ <port_number on which XYZ listens>/tcp <For ex: 3600>
to your services file in C:\winNT\system32\drivers\etc (for the Windows 2000 system). XYZ means your Instance Name.
Regards
Gregor -
Java-Program for JCO-Connection
Hallo experts!
I tried to get a Java-Program running which should establish JCO-Connection to a SAP-System and got the following error message:
java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
JCO.nativeInit(): Could not initialize dynamic link library librfc. Found version "640.0.144" but required at least version "640.0.161".
at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)
at JCOTEST.main(JCOTEST.java:24)
Exception in thread "main"
Anyone got an idea?
Thanks for your help in advance.Thank you Jens,
it worked fine with the newest JCo-Download.
Now I seem to have some Network problem: ip not reached:
com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed
Connect_PM GWHOST=10.251.24.10, GWSERV=sapgw10, ASHOST=10.251.24.10, SYSNR=10
LOCATION CPIC (TCP/IP) on local host
ERROR partner not reached (host 10.251.24.10, service 3310)
I need to talk to our network manager in the firm.
Regards.
Thomas -
Error in JCO Connection prorgam
Hi Experts,
I am developing one tomcat application using servlet. In servlet i am connecting to R/3. For this i am writing JCO Connection code. This Java file is compiled, but while running the servlet in browser it is giving exception like
java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:Tomcat 5.0bin;.;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:jdk1.5.0_12bin;C:Program Files (x86)AdobeFlex Builder 2Flex SDK 2bin;C:j2mej2me_cldcbinwin32;C:j2memidp1.0.3fcsbin;C:jdk1.5.0_12libsapjco.jar]
com.sap.mw.jco.JCO.<clinit>(JCO.java:738)
ConnectToR3.getConnection(ConnectToR3.java:25)
HitServlet.doGet(HitServlet.java:29)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
How to slove this problem. Is their any other way to connect to SAP R/3 from Servlets. I created normal java program without servlets, it's wokring fine. But If paste the same code in servlets mean it is giving above Exception.
Please Help me........ Give any solution to this problem.
Regards,
Sunilsapjcorfc.dll is required on the server to handle jco connections.
It seems it is not there or if it is there but is not part of "path" environment variable on the server.
1) Go to you server. Search for this file and add the directory containing this file to path environment variable for server. You have to restart your server.
2) It runs in your local java program because your local java program runs in local JVM instance. And on your local machine you have the sapjcorfc.dll plus its folder being in part of path environment variable.
3) The servlet runs in ServletContext on the server JVM instance where the sapjcorfc.dll cann't located.
Regards,
Ashwani Kr Sharma -
Jco connection error while calling Custom FM in CRM Internet Sales Application
Hi ,
I am trying to do some customisation in the CRM ISA 4.0 development component.
Have followed the steps given in the Development and Extension Guide and tutorial PDF
Steps done for Custom RFC Call
1. Create RFCs
2. Edit file backendobject-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification:-
3. BackendBusinessObject Jco -
4. BusinessObject -
5. Edit file bom-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification
6. BusinessObjectManager BoM
7. BackendAware-
8. config.xml - to add custom actions
9. Action creation
10. Page : Order_change.jsp.
The backend is the CRM system while making a call to the CRM system the connection to the CRM system is not working .
Similar to what is given in the tutorial the getDefaultJCoConnection() is used .
But gettting null at the JCO connection.
JCO.Function func = getDefaultJCoConnection().getJCoFunction(‘CRM_ISA_SHOP_GETLIST’);
This is how my custom FM is being called.
Can someone help me with what may be the possible reason for this call failure.
While debugging and checking it shows null pointer exception in the JCo connection .
Thanks
ChinjuHi Hamendra,
When the code debugging was done in Java then we got just the NullPointerException for the JCo.
In the nwa log shows
where BackendBusinessObjectBaseSAP is the standard Java Class in the ISA
Error at
com.sap.isa.core.eai.sp.jco.BackendBusinessObjectBaseSAP.getDefaultJCoConnection(BackendBusinessObjectBaseSAP.java:46)
Thanks
Chinju
Maybe you are looking for
-
Why is it when I transfer photos taken on my iphone 4S to my PC some of them appear on my PC as landscape and some as portrait -= though all were taen as portrait on the iphoen I can rotate them on my PC but then when I try to save it does not allow
-
Restore new ipod with old ipod data
I think my ipod is probably toast (unless some genius responds to my last post and solves my problem). If I have to get a new ipod, does anyone know if I can restore the data from my dead one to the new one?
-
Display PDFs in Java window?
Hi, I was wondering if Acrobat is the right product to buy in order to dispaly PDFs in my custom Java application. That is: does it come with a Java API (Java 1.4.2). I only need to display PDFs, nothing else. And I do not want to display the PDFs in
-
I am unable to crop my JPEGS suddenly using Elements 11
Hi, I have Photoshop Elements 11, and suddenly I am unble to crop my JPEGS. (I am using an HP computer with Windows 8, if that matters.) When I click on "Image," "crop" is light and cannot be clicked on. I have used Photoshop to crop my JPEGS many
-
Product code 0575407 Red0575408 Blue 0581337 BlackLatest available software for Nokia 5800 XpressMusic, product code 0575407 Version: 21.0.101 Message Edited by senadn95 on 25-Jun-2009 10:11 AM Message Edited by senadn95 on 25-Jun-2009 10:1