JCo Connection Performance Tuninng
Hi all,
Here's a performance tuning problem occurs when I do the Stress Test for a JCo Connection.
I call bapi with abap model autogenerated by webdynpro wizard, then I developped a method to do this post job(with same data, suppose each post get the right response) for 1, 10, 20, 50 times.
I found the first time it will cost a real long time(such as 21s) to get return, then performance can be better, an average time cost is about 700 ms.
So I think there must be someplace to cache the post data, if I can modify the size of the cache, maybe I can improve the performance.
Now the question is where is it?
Any idea?
Hallo William,
read the SDN article on <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/webdynpro/how%20to%20configure%20the%20jco%20destination%20settings.pdf">How to configrue the Jco Destination Settings</a>
Regards, Bertram
Similar Messages
-
ESS - JCO Connection and Performance
Hi Forum,
In ESS Package Applications we are not using Applications related to Travel Management and Finance but JCO connections are created for the respective application namely
1. SAP_R3_Travel & SAP_R3_Travel_MetaData
2. SAP_R3_Financials & SAP_R3_Financials_MetaData
I need to know performance impact of these JCO creations which we are not using anyway.
Many Thanks and Regards
SudhirThank you Bala,
Will there be any performance impact - If I disable these unused JCO connection. Basically I need to know creating a JCO connection and keeping it idle - how much memory/pool etc it is going to consume. If it is going to impact then the plan is to identify all unused JCO connection in the complete system and disable it.
Regards
Sudhir -
Finding component that does not close JCO connections
Hi,
I'm working on a big project with many webdynpro components. My problem is that I seem to be loosing JCO connections. After a while I get JCO connection errors. I just can't find which component is causing this. I checked over and over again.
Is there a way to check how many JCO connections an application/component has or at least how many open connections a model has?
I really need to know which component is causing my loss of JCO connections.
Thanks all!
JeschaelHi Jeschael,
Go to System Administration -> System Configuration -> Select Web Dynpro Console -> (Model & backend- You can check JCo performance by component) or ( JCo Connection Pools you can check max. calls and active connections for JCos)
Regards,
Siva -
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 -
Greetings, we have a federated portal which is using JCo connections as part of the MSS/ESS business package. We had a situation where the SLD was down therefore the JCo connections were down. Our question is JCo connection completely dependent on SLD. In other words if SLD is down, will that mean our JCo connection will fail thus an outage.
If this is the case what is the best way to make sure SLD is highly available? Our options are to make SLD highly available or distribute SLD on each system.
Also, what is the performance hit on making SLD distributed on all Portal system if this the route we go?
Thanks in advance!Hi,
The distributed SLD servers can cause higher administration expense with regard to consistent data. Therefore, we recommend that you consider to use a single SLD server first.
but for large system landscapes that are distributed over different geographic locations, a single SLD server might slow down the performance of involved application systems. In this case, a distributed SLDserver installation can be taken into account.
Samrat -
HOW to handle JCO connection failure
if i have a JCO connection.....to process the RFC function...
when i call the function...the job leave to R3 to do the rest...
yet ..the connection broken..at this time..
the is no result return..and consequency receive the
RFC_ERROR_COMMUNICATION exception...
how do i handle this kind of situation....
what should R3 SHOULD DO..
let's say i have a jco connection
the connection broken during processing...how do i return the error message to the java program
the error include....RFC_SYSTEM_FAILURE ,RFC_ERROR_COMMUNICATION
Message was edited by:
yzme yzmeYzme,
You have already got answers how to catch this exception.
Next processing depends on application-specific nature of RFC: whether or not call is idempotent, in simple words -- submitting same request doesn't hurt.
This comes from the fact that network failure may occurs when transferring request (hence no background processing performed) or when returning response (hence function already executed).
For idempotent calls there is also an option for automatic re-tries finite number of times. For non-idempotent calls the only option is to display error to user in friendly format.
An idempotent call is a call that can be executed more than once on the server without undesirable side effects. Take for example Create / Read / Update / Delete operations. Obviously, read is idempotent while it doesn't alter data at all. You may treat Delete as idempotent up to certain extent -- just handle "record not exists" gracefully. Create and Update are not good candidates -- re-submitting same request typically leads to serious problems like duplicate entries or data inconsistency.
Valery Silaev
SaM Solutions
http://www.sam-solutions.net -
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
Maybe you are looking for
-
How do i get my pictures off my iphone to my laptop.
My old computer has crashed and i need to transfer my pictures off my iphone please help :O(
-
How do I create a file in mail
How do I create folders in the mail box?
-
I have a mac mini RUNNING MOUNTAIN LION, I want a program to make f12 function as a right mouse click lock. Mountain lion has no provision for click lock. I have downloaded Steermouse which allows for configuration of any number of mouse keys but i
-
Performance Appraisal Rating Scale.
Hi Friends , Want to know that is there any place where we can define the year relevance for the Rating Scales and Rating scale text ? My client want some changes in Rating scale text for 2010 Appraisal and this changes should not effect previous a
-
Forgot my password and cannot log in to my computer
I was trying to change the admin name on my MacBook Pro and ended up changing the password. I've tried logging on to my account with what I thought the new password was but nothing will work. Please help! My computer has everything I need on it!