JCO Server Instances

We have developed JCO Server program ,so that the ABAP calls the JCO Server program,so that we can set values in the Export Parameters of the RFM.This I wrote using the Example5 code,but I need to understand ,that if we define two or three instances of JCO.Server,what does it actually mean,does the ABAP program automatically calls these instances,how is the calls to JCO.Server made and to which server,how is that determined.
Our scenario: We have written exit routines for our sales order creation,and we want to override the price  of the material ,obtaining from a separate database.So exit routines,RFMS which calls the handleRequest method of Server.How do we acheive concurrency in the request to Servers.

Not quite sure if this is what you were asking, but..
Is the JCO server program registered at the gateway?
If so, and you run several instances which all use the same program ID, SAP gateway will load-balance the calls.
http://help.sap.com/saphelp_nw04/helpdata/en/51/aea438ec2a7e26e10000009b38f8cf/content.htm

Similar Messages

  • JCo server programming, properties and connection settings

    Greetings, SAP professionals.
    The reason I come to this forum is that I'm hoping to gain some insights into the use of the SAP Java Connector (JCo). I am a developer who was tasked with making a new component for a systems integration application. As is typical of integration software, our app can link together various different systems using a variety of protocols, as well as providing the means to apply business logic on messages passed from one location to another. We already have a connector acting as an SAP client which was implemented using JCo. Now, we were asked to develop a new component: a server capable of accepting RFCs from a remote SAP system acting as client. The server is to be created using the JCo classes, so basically an extension of JCo.Server, with some logic for creating function templates from configuration files.
    However, while I'm understanding the structure of the Java API, it's not entirely clear to me just what the classes do. I've found the JavaDoc for JCo to be mostly descriptive of the interface of classes and methods, but not really explaining what these achieve, or how. So I'm hoping to be set straight, as I fear I'm kind of misunderstanding the functionality of JCo... Being mainly an integrations developer, I unfortunately often have to settle for gaining a superficial knowledge of a variety of systems to quickly interface with them, so I don't have any prior knowledge of SAP but still need to be able to implement something with JCo without too much delay.
    The most important question I have is this: when a JCO.Server implementation is started, does it act as a fully standalone component capable of receiving calls, or does it merely act as a sort of listener for some main SAP system? I'm not talking about a reliability on the two .dll files (or .so for Linux) that are required for the use of JCo, I just wish to know if the JCo package is entirely self-sufficient for server functionality or if it is intended to be linked to some SAP system.
    A second problem I have is that the parameters passed to various constructors aren't clear to me... I'm not familiar with SAP terminology, nor have I worked with any client apps that make use of an SAP system.
    The meaning of client strings, gwhost, gwservice, ashost, system IDs and program IDs mostly elude me, especially when it comes to knowing what client parameters must match what server parameters.
    In order to familiarize myself with the classes, I've tried playing around with them a bit trying to create a small test app that first starts a JCO.Server instance, then tries to make a remote function call to it with a JCO.Client (within the same class, for simplicity and debugging purposes). I was wondering if this actually makes sense... Would a JCo client be capable of connecting to a JCo server, all running purely in Java, or is that nonsense?
    To eliminate some common troubleshooting options, I'll quicly describe the steps I've taken:
    Both librfc32.dll and sapjcorfc.dll were placed in the Windows system32 folder. Maybe only librfd32 needs to be placed there, but I copied both anyway to make sure.
    The directory containing the jar file and both dll files is included in my environment path variable.
    I've added a line to the C:\Windows\system32\drivers\etc\services file as follows:
    sapgw00          3300/tcp                           #SAP System Gateway Port
    I've opened port 3300 in my Windows firewall. In fact, I also tested with the firewall completely turned off.
    However, I do not manage to get my test class to work. I've tried ports 3300, 3200 and 3600. I've tried various permutations of the client and server properties. I've tried removing the line from the services file, which would prompt the client to state upon connecting that the service "sapgw00" is unknown. When I add it back in, the error changes to "partner not reached", so it is definitely picking something up.
    The server itself starts just fine, but connecting through a client doesn't work. My class source code is posted below. Maybe what I'm trying to do doesn't make any sense, but at the moment it's my best guess.
    I realize this is a pretty long post and the class, while not exactly big, also implies a bit of reading of its own. But if anyone could give me any answers that are new to me, I'd be hugely grateful. Right now I'm kind of stuck, and just setting up the service and letting our customer test on it is a somewhat slow approach that can't match developing and testing on one and the same host.
    Preliminary thanks to everyone who took the effort to read this.
    //Start of code
    import java.util.Properties;
    import com.sap.mw.jco.IFunctionTemplate;
    import com.sap.mw.jco.IMetaData;
    import com.sap.mw.jco.IRepository;
    import com.sap.mw.jco.JCO;
    public class Test {
         public static void main(String[] args) {
              Test test = new Test();
              ServerThread serverThread = test.new ServerThread();
              serverThread.start();
              while(!serverThread.isReady) {
                   try {
                        Thread.sleep(5000);
                   } catch(final InterruptedException i) {
                        System.out.println("Rudely awakened");
              try {
    //               JCO.Function func = getSampleFunction(test, "STAY");
    //               serverThread.server.handleRequest(func);
    //               System.out.println(func.getExportParameterList().toXML());
    //               func = getSampleFunction(test, "STOP");
    //               serverThread.server.handleRequest(func);
    //               System.out.println(func.getExportParameterList().toXML());
                   final Properties clientProps = getClientProps();
                   JCO.Client client = JCO.createClient(clientProps);
                   client.connect();
                   IRepository rep = JCO.createRepository("1", client);
                   IFunctionTemplate templ = rep.getFunctionTemplate("TEST_FUNC");
                   JCO.Function function = templ.getFunction();
                   function.getImportParameterList().setValue("STAY", "FIELD1");
                   client.execute(function);
                   JCO.Function function2 = templ.getFunction();
                   function2.getImportParameterList().setValue("STOP", "FIELD1");
                   client.execute(function2);
              } catch(final Exception e) {
                   e.printStackTrace(System.out);
                   serverThread.requestStop();
                   while(serverThread.isAlive) {
                        try {
                             Thread.sleep(5000);
                        } catch(final InterruptedException i) {
                             System.out.println("Rudely awakened");
              } finally {
         private static Properties getClientProps() {
              final Properties props = new Properties();
              props.setProperty("jco.client.client", "100");
              props.setProperty("jco.client.user", "");
              props.setProperty("jco.client.passwd", "");
              props.setProperty("jco.client.lang", "");
              props.setProperty("jco.client.sysnr", "00");
              props.setProperty("jco.client.ashost", "/H/localhost/S/sapgw00");
              props.setProperty("jco.client.gwhost", "localhost");
              props.setProperty("jco.client.gwserv", "sapgw00");
              return props;
         public class ServerThread extends Thread {
              public void run() {
                   isAlive = true;
                   IRepository repos = new TestRepository("testrep");
                   repos.addFunctionInterfaceToCache(getFunctionInterface());
                   server = new TestServer(repos);
                   server.start();
                   System.out.println("Server successfully started");
                   isReady = true;
                   while(!stop) {
                        try {
                             Thread.sleep(1000);
                        } catch(final InterruptedException i) {
                             System.out.println("Wouldn't let me sleep...");
                        stop = server.stopRequested;
                   server.stop();
                   isAlive = false;
                   System.out.println("Server successfully stopped");
              public void requestStop() {
                   server.requestStop();
              public TestServer server;
              public boolean isReady = false;
              public boolean isAlive = false;
         public class TestServer extends JCO.Server {
              public TestServer(IRepository rep) {
                   super("localhost", "sapgw00", "PROGID", rep);
              public void handleRequest(JCO.Function fct) {
                   try {
                        JCO.ParameterList importParams = fct.getImportParameterList();
                        final String importXML = importParams.toXML();
                        System.out.println("XML representation of import parameters: ");
                        System.out.println(importXML);
                        final String input = importParams.getString("FIELD1");
                        System.out.println("FIELD1 value: " + input);
                        JCO.ParameterList exportParams = fct.getExportParameterList();
                        if(input.equals("STOP")) {
                             exportParams.getField("FIELD2").setValue("OK");
                             stopRequested = true;
                   catch(JCO.AbapException ex) {
                        throw ex;
                   catch(Throwable t) {
                        throw new JCO.AbapException("SYSTEM_FAILURE", t.getMessage());
              public boolean checkAuthorization(String functionName, int authorMode, String partner, byte[] key) {
                   System.out.println(functionName + " " + partner);
                   return true;
              public void requestStop() {
                   stopRequested = true;
              public boolean stopRequested = false;
         public class TestRepository extends JCO.BasicRepository implements IRepository {
              public TestRepository(String name) {
                   super(name);
         public static IMetaData getFunctionInterface() {
              JCO.MetaData metaData = new JCO.MetaData("TEST_FUNC");
              metaData.addInfo("FIELD1", IMetaData.TYPE_STRING, 4);
              metaData.setFlags(0, IMetaData.IMPORT_PARAMETER);
              metaData.addInfo("FIELDX", IMetaData.TYPE_STRING, 8);
              metaData.setFlags(1, IMetaData.IMPORT_PARAMETER & IMetaData.OPTIONAL_PARAMETER);
              metaData.addInfo("FIELD2", IMetaData.TYPE_STRING, 2);
              metaData.setFlags(2, IMetaData.EXPORT_PARAMETER);
              return metaData;
         public static JCO.Function getSampleFunction(Test test, String s) {
              TestRepository testRep = test.new TestRepository("testrepository");
              testRep.addFunctionInterfaceToCache(getFunctionInterface());
              JCO.Function func = testRep.getFunctionTemplate("TEST_FUNC").getFunction();
              func.getImportParameterList().setValue(s, "FIELD1");
              return func;
         private static boolean stop = false;

    If I understood you correctly, you want to provide a "service" that can be called from SAP. To provide this service you've chosen to implement an (external) RFC server program via JCo. One common method for RFC server programs is to register in SAP on the gateway - you do this by supplying the three parameters
    <ol>
    <li><b>jco.server.gwhost</b> -  SAP gateway host on which the server should be registered (so this would be the server name or IP address of the SAP gateway; localhost is only correct, if your RFC server program runs on the same server as the SAP gateway)</li>
    <li><b>jco.server.gwserv</b>  - Gateway service, i.e. the port on which a registration can be done</li>
    <li><b>jco.server.progid</b> - Program ID under which your RFC server program can be reached (free, made-up case sensitive name, that should represent the service your RFC server is providing)</li>
    </ol>
    So essentially you're creating a listener, that is registered in SAP and waits for any invocations. Within SAP they will define a <i>RFC destination</i>, which basically represents a TCP/IP connection pointing to the SAP gateway where you registered with the given program ID. If you want more details, check the SAP help pages for <a target="_blank" href="http://help.sap.com/saphelp_nw04/helpdata/en/22/04262b488911d189490000e829fbbd/content.htm">RFC destinations</a> (you're looking for destination type <b>T</b>, see explanations <a target="_blank" href="http://help.sap.com/saphelp_nw04/helpdata/en/22/042652488911d189490000e829fbbd/content.htm">here</a>).
    Usually gateway host and service (port) are given to you by the SAP basis folks and you tell them which program ID you're using. They will then enter those parameters in an RFC destination of type <b>T</b> in SAP. So no need for any of the client parameters you've mentioned. Although, I'd like to repeat, it's usually handy to also have SAP logon parameters maintained on your RFC server program, so that you can utilize the repository data from SAP (might be irrelevant in your case).
    Hope this clarifies it a bit...

  • JCo Server Load Balancing

    We have created a JCo Server interface using RFC modules in SAP to communicate with an external web based system.  The SAP system calls the external application via tRFC and qRFC as needed from the business transaction.  We have achieved high throughput by clustering our external web application server, putting a load balancer in front of that web application, and finally creating multiple JCo Server instances within own JVMs (currently 6 instances with 5 servers each).  The JCo Server is registered to the central gateway of the SAP system using gwhost, gwserv, and progid.  With this setup we have successfully performed up to 50,000 transactions an hour.
    My understanding is that the SAP gateway will act as a load balancer on the SAP side.  Is this right or should we consider to install a hardware load balancer "in front" of the SAP gateway and try to map this to the message server instead?  Or concern is that our JCo Server process will "flood" the central gateway and take all resources away form the SAP system.  Unfortunately the JCo Server class doesn't allow to connect to any other resource on the SAP system then the central gateway.
    Any suggestions or real live examples are appreciated.
    Stefan

    Hi Stefan
    We are doing a similar project wherein we are calling a middleware server based on the JCO.Server from SAP.
    You did say that you have achieved a throughput of 50000 transactions and we are interested in knowing how ?.
    Could you briefly tell use how you achieved it. In our case we have one instance of the JCO.Server working on the JVM.
    Here is what we did .
    We tried to start two instances of the middle ware server on the same JVM on the same BOX and register it with the gateway . This dint work .
    We were successfull in starting two instances of the middleware server from two different JVM on two different boxes and registering it at the gateway under the same id.
    This we know will work as the gateway will use its load balancing to distribute load between the two instances.
    But we are interested in knowing how we can start more then one server instance on a given JVM.
    Our questions are
    It we have threading in our middleware server, we believe it will not help as if the SAP gateway server has opened an connection with one instance of the middleware server. It is not possible for it to open another one...till the first one is complete. Hence threading within the middleware server is redundant.
    Your thoughts and comments are appreciated.

  • How to set JCO.Server to unicode

    Hi,
    I'm trying to call a Java class (myExample5)from a R/3 that is unicode compliant.  Using example5 in the sapjco-ntintel-2.1.5.zip, I've created the ABAP program to call STFC_CONNECTION with the destination 'JCO'.  I get to my JAVA program, but the input it receives is null.  I think I need to set the JCO.Server to be unicode, but I can't figure out how. 
    Can someone provide me with an example? 
    Also, do I need to had any additional dll to my system32 directory?
    Thanks ahead of time for any insight.

    Hello ,
    If you want to make outbound RFC calls from a Unicode SAP system to a JCo server instance, the server must be set up using the additional serverProperty
    You also need to set the unicode option for your RFC destination in transaction SM59 in transaction SM59 (tab page MDMP_Unicode).
    You can create Unicode Compatible JCOSERVER01  as follows
    static public class Server extends JCO.Server {
        public Server(String gwhost, String gwserv, String progid, boolean isUnicode, IRepository repository)
          super(gwhost,gwserv,progid,repository);
          this.setProperty("jco.server.unicode", isUnicode?"1":"0");
    for more details use following link :
    http://help.sap.com/saphelp_nwpi711/helpdata/en/48/7238b836701b5ae10000000a42189c/frameset.htm
    Regards,
    Pushkar Dhale

  • JCo Server - ABAP to NWJ2EE - Metadata Access

    Hi Friends,
    we are here in a project, which also deals to fetch data from an external non ABAP system. The calling system is a 4.6C. We therefore use the JCo server service (registered RFC connection), which can be called by the 4.6C system. Basicly it works, but we discovered, that currently we get a single point of failure, because we have to provide repository information (connection information) within the visual admin.
    The help page
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/b0/46e13d82fcfb34e10000000a114084/frameset.htm">SAP JCo Server Programming</a> and its examples, would lead us to provide connection properties, e.g. within the coding. Therefore, within visual admin, section "JCo RFC Provider", JNDI name, program ID and connection properties are maintained. The J2EE application therefore use those predefined entries. When starting the first request to JCo server, metadata are being read from repository, which here must be the calling system (our 4.6C system). Within the repository section, you can only provide dedicated application server login information, not e.g. a load balanced one. Thus this is for reasons of high availability, a single point of failure. An ABAP instance itself is not HA required, because you can use multiple of them. The message service itself but is HA required.
    Now after this long explanation my question:
    Are we on the right way, using e.g. visual admin to define the registered server programs, etc - or is there a more integrated, flexible integration possible?
    Perhaps, we need only the correct entry point of documentation or workshops, to direct our project developers to the right way.
    All information I found about higher integration was only for Web Dynpro - and therefore for JCo client integration. But this is not our scenario.
    thanks a lot in advance for your replies,
    reiner leibig

    You might benefit by reading the JCO pdf delivered with the jco download from sapservice.com....(free)....
    Usually it is easier to define the structure and the function interface as an SAP function even if there is no body (abap to java). This means that the JCO will read correctly all the metainformation about the function. You then call the function as an RFC specifying the host...
    Have fun...
    In your case I would read carefully the example (getting the company code info etc...)
    It shows how to manipulate the table returned by ABAP...

  • ABAP process hangs when calling a jCO Server J2EE-available RFC

    Hi there
    Here's the scenario:
    We have deployed a jCO server under the SAP WAS. This jCO server implements two functions. They are both called from ABAP process through RFC. We are using the same RFC destination for both
    First function is defined with import/export parameters and the second one only operates with a TABLE parameter.
    Incidentally, these functions are captured by the jCO server, which calls an IBM MQ server
    First function works fine. Second function hangs and there is not even a timeout so the ABAP process (run on foreground) can stay forever.
    The interesting part is that the same application works really fine when called from a Tomcat using a standalon instance of the jCO.
    Additional info:
    We have noticed that some time after the second function gets called, there are five dumps on the system (the same amount of servers we make available). These are CALL_FUNCTION_SIGNON_REJECTED.
    The fun part of the dumps is that the user making the RFC call is a different user that the one we use for the jCO connection, and the client number is '000', instead of the '728' we are using for the connection. Somehow they seem related but we do not know how yet:
    Short text
        You are not authorized to logon to the target system (error code 1).
    What happened?
        Error in the ABAP Application Program
        The current ABAP program "SAPMSSY1" had to be terminated because it has
        come across a statement that unfortunately cannot be executed.
    Error analysis
        RFC (Remote Function Call) sent with invalid
        user ID "%_LOG01% " or client 000.
        User "ARINSO " under client 001 from system "SMD " has tried to carry out an
         RFC
        call under the user ID "%_LOG01% " and client 000 (Note: For releases < 4.0,
         the
         information on caller and caller system do not exist.).
    Call Program........."SAPLSMSY_ACTUALIZE_DATA"
    Function Module..... "SCSM_SYSTEM_LIST"
    Call Destination.... "SM_ET7CLNT000_READ"
    Source Server....... "sapwasmd_SMD_10"
    Source IP Address... "172.17.82.80"
    Termination occurred in the ABAP program "SAPMSSY1" - in
         "REMOTE_FUNCTION_CALL".
        The main program was "SAPMSSY1 ".
        In the source code you have the termination point in line 67
        of the (Include) program "SAPMSSY1".
    Any tip or suggestion on where to look at is more than welcome
    Thanks in advance,
    Miguel

    And this is the content of the defaultTrace.0.trc log from the WAS
    1.#005056AB04C500440000000200002B0000046B495CA1AF67#1243862737727#com.sap.caf.um.relgrou
    ps.imp.principals.RelGroupFactory##com.sap.caf.um.relgroups.imp.principals.RelGroupFactor
    y.RelGroupFactory()#######SAPEngine_System_Thread[impl:5]_13##0#0#Info#1#/System/Server#P
    lain###sap.com caf/um/relgroups/imp MAIN_NW701P03_C 2846629#
    #1.#005056AB04C500240000000100002B0000046B495CCDAAFB#1243862740608#com.sap.engine.library
    .monitor.mapping.ccms.Trace##com.sap.engine.library.monitor.mapping.ccms.Trace####n/a##b3
    89a8004eaf11dec9b7005056ab04c5#SAPEngine_System_Thread[impl:5]_39##0#0#Error##Plain###Reg
    isterNode</Kernel/System Threads Pool/WaitingTasksCount>: com.sap.engine.library.monitor.
    mapping.ccms.CcmsConnectorException: 2100850: Invalid configuration group for node'/Kerne
    l/System Threads Pool/WaitingTasksCount' (MANAGERS.SThreadPool.WaitingInRequestQueueCount
    , max. 40 characters)#
    #1.#005056AB04C500240000000200002B0000046B495CCDB4CC#1243862740612#com.sap.engine.library
    .monitor.mapping.ccms.Trace##com.sap.engine.library.monitor.mapping.ccms.Trace####n/a##b3
    89a8004eaf11dec9b7005056ab04c5#SAPEngine_System_Thread[impl:5]_39##0#0#Error##Plain###Reg
    isterNode</Kernel/System Threads Pool/WaitingTasksQueueOverflow>: com.sap.engine.library.
    monitor.mapping.ccms.CcmsConnectorException: 2100850: Invalid configuration group for nod
    e'/Kernel/System Threads Pool/WaitingTasksQueueOverflow' (MANAGERS.SThreadPool.Waiting4Fr
    eeReqQueueSlotCount, max. 40 characters)#
    #1.#005056AB04C500240000000300002B0000046B495CCDCDA1#1243862740618#com.sap.engine.library
    .monitor.mapping.ccms.Trace##com.sap.engine.library.monitor.mapping.ccms.Trace####n/a##b3
    89a8004eaf11dec9b7005056ab04c5#SAPEngine_System_Thread[impl:5]_39##0#0#Error##Plain###Reg
    isterNode</Kernel/Application Threads Pool/WaitingTasksCount>: com.sap.engine.library.mon
    itor.mapping.ccms.CcmsConnectorException: 2100850: Invalid configuration group for node'/
    Kernel/Application Threads Pool/WaitingTasksCount' (MANAGERS.AThreadPool.WaitingInRequest
    QueueCount, max. 40 characters)#
    #1.#005056AB04C500240000000400002B0000046B495CCDD69B#1243862740620#com.sap.engine.library
    .monitor.mapping.ccms.Trace##com.sap.engine.library.monitor.mapping.ccms.Trace####n/a##b3
    89a8004eaf11dec9b7005056ab04c5#SAPEngine_System_Thread[impl:5]_39##0#0#Error##Plain###Reg
    isterNode</Kernel/Application Threads Pool/WaitingTasksQueueOverflow>: com.sap.engine.lib
    rary.monitor.mapping.ccms.CcmsConnectorException: 2100850: Invalid configuration group fo
    r node'/Kernel/Application Threads Pool/WaitingTasksQueueOverflow' (MANAGERS.AThreadPool.
    Waiting4FreeReqQueueSlotCount, max. 40 characters)#
    #1.#005056AB04C500600000001600002B0000046B4960688301#1243862801089#com.sap.slm.exec.messa
    ge.SLMApplication#sap.com/tcslmslmapp#com.sap.slm.exec.message.SLMApplication#Guest#0##
    n/a##c59827604eaf11de9fb3005056ab04c5#SAPEngine_Application_Thread[impl:3]_0##0#0#Error##
    Java###null##
    #1.#005056AB04C500730000000000002B0000046B4CF0593ABD#1243878100908#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain###com.sap.mw.jco.JCO$AbapException: (126) 1: Array index out of rang
    e: 48#
    #1.#005056AB04C500730000000100002B0000046B4CF0594028#1243878100909#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.efh.jco.valtran.sap.ValtranRequestHandler.serverExceptionO
    ccurred(ValtranRequestHandler.java:164)#
    #1.#005056AB04C500730000000200002B0000046B4CF059406B#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.sap.mw.jco.JCO.fireServerExceptionOccurred(JCO.java:880)#
    #1.#005056AB04C500730000000300002B0000046B4CF05940A3#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.sap.mw.jco.JCO$Server.listen(JCO.java:8187)#
    #1.#005056AB04C500730000000400002B0000046B4CF05940DB#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.sap.mw.jco.JCO$Server.work(JCO.java:8303)#
    #1.#005056AB04C500730000000500002B0000046B4CF0594111#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.sap.mw.jco.JCO$Server.loop(JCO.java:8250)#
    #1.#005056AB04C500730000000600002B0000046B4CF0594143#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at com.sap.mw.jco.JCO$Server.run(JCO.java:8166)#
    #1.#005056AB04C500730000000700002B0000046B4CF05941F0#1243878100910#System.err#arinso.com/
    valtran_validator#System.err#Guest#0##ET7#MIGUELGU                        #4A240FF606CD5E
    5AE10000000A38418C#Thread[JCO.ServerThread-11,5,SAPEngine_Application_Thread[impl:3]_Grou
    p]##0#0#Error##Plain### at java.lang.Thread.run(Thread.java:770)#

  • JCO Server Multithreading

    Hi,
    I need to develop a JCO Server that should handle multiple requests and then I need to start multiple instances of the listeners.
    I would like a sample code for it.
    Thanks

    Many thanks,
    it is very helpful.
    If I got it,, then I can start many servers that use the same program ID ? As stated below:
    for(int i = 0; I < serverConnections.length; i++) {
               serverConnections <i> = new MyFirstServer
                                 ("gwhost",  //gateway host, often the same as host
                                  "sapgw00", //gateway service, generally sapgw<SYSNR>+
                                  "JCOSERVER01", // corresponds to program ID defined in SM59
                                  repository);
               serverConnections <i>.start();
    Next question is probably more a hint request:
    when I need to shutdown the servers then I need to invoke the stopServers method. How do I invoke this method ?

  • JCo Server High Availability

    How can I make the JCo server implement "High Availability" functionality. The SAP Server which the makes calls to the JCo Server is HA-aware. So if there is a failover, the SAP Server switches over to the other instance but the JCo server keeps sending the message "Server unavailable". Is there a solution for this problem.
    Thanks.

    Single Appliance not necessarily means Single Point of Failure, an appliance with HW Redundancy could handle failure and provide High Availability, if only configured well.
    Does Symantec BrightMail Appliance provide such redundancy configuration?
    You will have to ask their support or in a Symantec Forum.
    Twitter!: Please Note: My Posts are provided “AS IS” without warranty of any kind, either expressed or implied.

  • JCO.Server could not find server function "ZVERIFY_FILE"

    Hi Experts,
    I am facing one problem, i have created on TCP/IP connection with connection type T and given it some Program Id.
    I have register this Program id On SRM server.
    Now from this server i want to call one JAVA file, for that purpose i have installed JCO on the server.
    My server file looks like,
    import com.sap.mw.jco.*;
    //import com.tcs.jns.JSignNS;
    //import com.tcs.jns.JSignNSException;
    //import com.tcs.jns.CertDetails;
    // added by paresh on 16.1.2009
    import java.io.FileOutputStream;
    import com.tcs.jie.jverify.JVerify;
    import com.tcs.jie.jsign.JSign;
    public class ds_listener extends JCO.Server {
    Create an instance of my own server
    @param gwhost (gateway host)
    @param gwserv (gateway service number)
    @param progid (program id)
    @param repository (repository used by the server to lookup the definitions of an inc)
         public ds_listener(String gwhost, String gwserv, String progid, boolean isUnicode,  IRepository repository) {
              super("sapdev14", "sapgw01", "DS_RFC", repository);                this.setProperty("jco.server.unicode", isUnicode?"1":"0");
         /** Overrides the default method. */
         static ds_listener serverConnections[] = new ds_listener[1];
         protected void handleRequest(JCO.Function function) {
              JCO.ParameterList input = function.getImportParameterList();
              JCO.ParameterList output = function.getExportParameterList();
              if (function.getName().equals("ZVERIFY_DATA")) {
                   try{
                        JVerify JNS = new JVerify();
                        String dbPath = "/home/admin/FormSigner_23Apr/FormSigner_Release/certdbs";
                        //boolean res = JNS.init (dbPath); // commented by paresh on 16.1.2009 as its obsolute
                        //initialize method has to be called before calling any other method of the API
                        String recdSignature = input.getString("SIGNATURE");
                        boolean ret_update = JNS.updateSignature(recdSignature.getByetes());
                        if (ret_update){
                             int count = JNS.getSignerCount();
                             boolean ret_verify_sign = false;
                             while(count > 0){
                                  ret_verify_sign = JNS.verifySignature(count - 1);
                                  if (ret_verify_sign){
                                       ret_verify_sign = false;
                                       count = count - 1;                                   
                                  }else
                                       break;
                             if (count == 0){
                                  String decoded_data = new String(JNS.getDecodedData());
                                  output.setValue("X", "STATUS");
                                  output.setValue(decoded_data, "DATA");
                             }else{
                                  output.setValue(" ", "STATUS");
                                  output.setValue("Error in Signature Verification. Please check Certificate Validity of every signer.", "DATA");
                   }catch (Exception e1){
                        output.setValue(" ", "STATUS");
                        output.setValue(e1.getMessage(), "DATA");
              }else if(function.getName().equals("ZVERIFY_FILE")) {
                   try{
                        JVerify JNS = new JVerify();
                        String dbPath = "/home/admin/FormSigner_23Apr/FormSigner_Release/certdbs";
                        //boolean res = JNS.init (dbPath);  // commented by paresh on 16.1.2009 as its obsolute
                        //initialize method has to be called before calling any other method of the API
                        String recdSignature = input.getString("SIGNATURE");
                        boolean ret_update = JNS.updateSignature(recdSignature.getBytes());
                        if (ret_update){
                             int count = JNS.getSignerCount();
                             boolean ret_verify_sign = false;
                             while(count > 0){
                                  ret_verify_sign = JNS.verifySignature(count - 1);
                                  if (ret_verify_sign){
                                       ret_verify_sign = false;
                                       count = count - 1;
                                  }else
                                       break;
                             if (count == 0){
                                  output.setValue("X", "STATUS");
                             }else{
                                  output.setValue(" ", "STATUS");
                   }catch (Exception e1){
                        output.setValue(" ", "STATUS");
              }else{
                   return ;
    Start the server
         public static void startServers() {
              JCO.addClientPool("POOL",3,"200","sisldp","paresh1234","EN","sapdev14","01");
              IRepository repository = JCO.createRepository("REP", "POOL");
              for (int i = 0; i < serverConnections.length; i++) {
                   // Server listens for incoming requests from system 1
                   // (Change gateway host, service, and program ID according to your needs)
                   serverConnections<i> = new ds_listener(
                             "sapdev14",//gateway host, often the same as host
                             "sapgw01", //gateway service, generally sapgw+<SYSNR>
                             "DS_RFC", // corresponds to program ID defined in SM59
                             true, // or false for non unicode listener
                             repository);
                   serverConnections<i>.start();
         public static void main(String[] args) {
         startServers();
    The file have no error as i have compiled it on server, its listener file given in JCO with some modification.
    I have tested the connection from SM59 it's working fine,but when i call my any of the 2  function(ZVERIFY_DATA & ZVERIFY_FILE) defined in my java file then i am getting an error "JCO.Server could not find server function 'ZVERIFY_FILE'" on SRM screen.
    Can anyone tell me what can be the reason????
    please help, i am in real trouble.

    Hi,
    This is may be of  the wrong FunctionModule name means check in case also,it may be case sensitive.
    And check whether it is remotely enabled or not and check the RFC destination.
    For more details refer these threads.
    JCO.Server could not find server function 'SET_SLD_DATA'
    JCO.Server could  not find server function
    Problems with sender RFC
    Thanks.

  • How to track session IDs for multiple apps in same server instance?

    All:
    We have 2 web applications (for example: app1,app2) running in one app
    server instance (weblogic 5.1). Both of those applications use the same
    cookie name (defined in weblogic.properties ) to keep the HttpSessionID.
    The tricky thing is that if a client logs in to app1 and then logs in to
    app2 with the same web browser, (for example, IE). The app1's
    HttpSessionID kept in the cookie will be overwritten by app2's
    HttpSessionID because they use the same cookie name.
    My question is this:
    Is there a way to specify a cookie name for each application running in
    an application server instance?
    The only way we know of to work around the problem is that we have to
    host the app1 and app2 in 2 different app server instances so we can
    config app1 and app2 to use different cookie names for the
    HttpSessionID. We are curious if there is a better way to do that.
    BTW, We must use Cookie because of the requirement of cluster and load
    balancer.
    Thanks,
    Ben

    Hi Ben,
    Which version of Weblogic are you using??
    In 5.1 sp8 the Cookie names of the Web Apps are different by default.
    Prasad Peddada <[email protected]> wrote:
    Why can't you add your own cookie?
    In 6.0 you can have different cookie names for different
    apps.
    -- Prasad
    "Benjamin D. Engelsma" wrote:
    All:
    We have 2 web applications (for example: app1,app2)running in one app
    server instance (weblogic 5.1). Both of those applicationsuse the same
    cookie name (defined in weblogic.properties ) to keepthe HttpSessionID.
    The tricky thing is that if a client logs in to app1and then logs in to
    app2 with the same web browser, (for example, IE). The app1's
    HttpSessionID kept in the cookie will be overwrittenby app2's
    HttpSessionID because they use the same cookie name.
    My question is this:
    Is there a way to specify a cookie name for each applicationrunning in
    an application server instance?
    The only way we know of to work around the problem isthat we have to
    host the app1 and app2 in 2 different app server instancesso we can
    config app1 and app2 to use different cookie names forthe
    HttpSessionID. We are curious if there is a better wayto do that.
    BTW, We must use Cookie because of the requirement ofcluster and load
    balancer.
    Thanks,
    Ben

  • How to configure single web server instance to multiple application servers..

    Hi all,
    we are running single instance of IWS6.0 SP2 on solaris, we want to comfigure this single instance to multiple application servers(JRun). Can any one advise me whether it is possible to do.
    Thanks
    Raj

    Hi Raj,
    "how to configure single web server instance to multiple application servers.."
    It's not possible for setting up multiple applicataion servers for Single iWS instance.
    Thanks,
    Dakshin.

  • DPM failing SQL backups due to error: "the SQL Server instance refused a connection to the protection agent. (ID 30172 Details: Internal error code: 0x80990F85)

    I ran across this error starting on 6/4/2011 and have been unable to find the root of the problem.  In our environment, we have a DPM 2010 server dedicated to backing up all our SQL envrionment (about 45 SQL Servers total).  All of the SQL
    environment is backing up fine except for a SQL Cluster Application.  This particular SQL Instances is part of a 6 node failover cluster with 6 SQL Instances distributed amongst them.  The other 5 SQL instances in the cluster are backing
    up fine; only one instance is failing.  The DPM Alerts section shows this error when attempting to do a SQL backup of one of the databases on this SQL instance:
    Affected area: KEN-PROD-VDB001\POSREPL1\master
    Occurred since: 6/11/2011 11:00:56 PM
    Description: Recovery point creation jobs for SQL Server 2008 database KEN-PROD-VDB001\POSREPL1\master on SQL Server (POSREPL1) - Store Settings.ken-prod-cl004.aarons.aaronrents.com have been failing. The number of failed recovery point creation jobs =
    4.
     If the datasource protected is SharePoint, then click on the Error Details to view the list of databases for which recovery point creation failed. (ID 3114)
     The DPM job failed for SQL Server 2008 database KEN-PROD-VDB001\POSREPL1\master on SQL Server (POSREPL1) - Store Settings.ken-prod-cl004.aarons.aaronrents.com because the SQL Server instance refused a connection to the protection agent. (ID 30172 Details:
    Internal error code: 0x80990F85)
     More information
    Recommended action: This can happen if the SQL Server process is overloaded, or running short of memory. Please ensure that you are able to successfully run transactions against the SQL database in question and then retry the failed job.
     Create a recovery point...
    Resolution: To dismiss the alert, click below
     Inactivate alert
    I have checked the cluster node this particular SQL instance is running on using Perfmon and the machine is nowhere near capacity on CPU, memory, network, or Disk I/O.  I have failed this SQL Application to another node in the cluster and
    receive the same error (this other node has another clustered SQL application on it that is actively running as well as backing up fine).  The only thing that I am aware of that has changed is that we installed SP2 for SQL 2008 about 2 weeks prior
    to when the failures started to occur.  However, we updated all six clustered SQL Instances at the same time and only this one is having this issue so I don't believe that caused the problem.  We are running SQL 2008 SP2 (version 10.0.4000.0)
    on all clustered instances along with DPM 2010 (version 3.0.7696.0) on this particular DPM server that has the issue.
    One last thing, I have also noticed errors in the event log pertaining to the same SQL backups that are failing (but the time stamps are not concurrent with each backup attempt):
    Log Name:      Application
    Source:        MSDPM
    Date:          6/13/2011 1:09:12 AM
    Event ID:      4223
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      KEN-PROD-BS002.aarons.aaronrents.com
    Description:
    The description for Event ID 4223 from source MSDPM cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
    If the event originated on another computer, the display information had to be saved with the event.
    The following information was included with the event:
    DPM writer was unable to snapshot the replica of KEN-PROD-VDB001\POSREPL1\model. This may be due to:
    1) No valid recovery points present on the replica.
    2) Failure of the last express full backup job for the datasource.
    3) Failure while deleting the invalid incremental recovery points on the replica.
    Problem Details:
    <DpmWriterEvent><__System><ID>30</ID><Seq>1833</Seq><TimeCreated>6/13/2011 5:09:12 AM</TimeCreated><Source>f:\dpmv3_rtm\private\product\tapebackup\dpswriter\vssfunctionality.cpp</Source><Line>815</Line><HasError>True</HasError></__System><DetailedCode>-2147212300</DetailedCode></DpmWriterEvent>
    the message resource is present but the message is not found in the string/message table
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="MSDPM" />
        <EventID Qualifiers="0">4223</EventID>
        <Level>2</Level>
        <Task>0</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2011-06-13T05:09:12.000000000Z" />
        <EventRecordID>68785</EventRecordID>
        <Channel>Application</Channel>
        <Computer>KEN-PROD-BS002.aarons.aaronrents.com</Computer>
        <Security />
      </System>
      <EventData>
        <Data>DPM writer was unable to snapshot the replica of KEN-PROD-VDB001\POSREPL1\model. This may be due to:
    1) No valid recovery points present on the replica.
    2) Failure of the last express full backup job for the datasource.
    3) Failure while deleting the invalid incremental recovery points on the replica.
    Problem Details:
    &lt;DpmWriterEvent&gt;&lt;__System&gt;&lt;ID&gt;30&lt;/ID&gt;&lt;Seq&gt;1833&lt;/Seq&gt;&lt;TimeCreated&gt;6/13/2011 5:09:12 AM&lt;/TimeCreated&gt;&lt;Source&gt;f:\dpmv3_rtm\private\product\tapebackup\dpswriter\vssfunctionality.cpp&lt;/Source&gt;&lt;Line&gt;815&lt;/Line&gt;&lt;HasError&gt;True&lt;/HasError&gt;&lt;/__System&gt;&lt;DetailedCode&gt;-2147212300&lt;/DetailedCode&gt;&lt;/DpmWriterEvent&gt;
    </Data>
        <Binary>3C00440070006D005700720069007400650072004500760065006E0074003E003C005F005F00530079007300740065006D003E003C00490044003E00330030003C002F00490044003E003C005300650071003E0031003800330033003C002F005300650071003E003C00540069006D00650043007200650061007400650064003E0036002F00310033002F003200300031003100200035003A00300039003A0031003200200041004D003C002F00540069006D00650043007200650061007400650064003E003C0053006F0075007200630065003E0066003A005C00640070006D00760033005F00720074006D005C0070007200690076006100740065005C00700072006F0064007500630074005C0074006100700065006200610063006B00750070005C006400700073007700720069007400650072005C00760073007300660075006E006300740069006F006E0061006C006900740079002E006300700070003C002F0053006F0075007200630065003E003C004C0069006E0065003E003800310035003C002F004C0069006E0065003E003C004800610073004500720072006F0072003E0054007200750065003C002F004800610073004500720072006F0072003E003C002F005F005F00530079007300740065006D003E003C00440065007400610069006C006500640043006F00640065003E002D0032003100340037003200310032003300300030003C002F00440065007400610069006C006500640043006F00640065003E003C002F00440070006D005700720069007400650072004500760065006E0074003E00</Binary>
      </EventData>
    </Event>
    Any help would be greatly appreciated!

    Don't know if this helps or not, but I also noticed another peculiar issue that is derived from this problem.  If I go to "Modify protection group", then expand the cluster, then expand all six nodes in the cluster, five of them show "All SQL Servers"
    and allow me to expand the SQL Instance and show all databases; the one that is having a problem backing up, when I expand the node, doesn't even show that SQL exists on the node, when in fact, it does.
    I would also like to add that the databases on this node that will not backup are running fine.  They run hundreds of transactions daily so we know SQL itself is OK.  Even though it is a busy SQL Server, there is plenty of available resources as
    the SQL buffer and memory counters show the node is not under durress.

  • Getting Error while running ATGPublishing server instance in ATG 10.0.3

    Hi All,
    I installed and configured ATG 10.0.3 and running both production and Publishing server instances. I'm getting following error in 'Publishing' .
    OS : Windows 7
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341603     /     Unable to set configured property "/atg/userprofiling/search/ProfileOutputConfig.documentSubmitter" atg.nucleus.ConfigurationException: Unable to resolve component /atg/userprofiling/search/ProfileLiveDocumentSubmitter
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /     Unable to resolve component /atg/userprofiling/search/ProfileOutputConfig      java.lang.AbstractMethodError: atg.repository.search.config.impl.ItemImpl.getProperties()Latg/repository/search/config/PropertiesType;
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.repository.search.indexing.specifier.OutputItemSpecifier.verifyItem(OutputItemSpecifier.java:2272)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.repository.search.indexing.specifier.OutputItemSpecifier.setFromItemType(OutputItemSpecifier.java:748)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.repository.search.indexing.IndexingOutputConfig.doStartService(IndexingOutputConfig.java:2251)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.GenericRMIService.startService(GenericRMIService.java:538)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.startService(NucleusNameResolver.java:1704)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.configureAndStartService(NucleusNameResolver.java:1375)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.createFromName(NucleusNameResolver.java:907)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.createFromName(NucleusNameResolver.java:666)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.createFromName(NucleusNameResolver.java:647)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.resolveName(NucleusNameResolver.java:492)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.NucleusNameResolver.resolveName(NucleusNameResolver.java:1216)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.ConfigurationRefArray.getValue(ConfigurationRefArray.java:168)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.SimpleComponentState.setBeanProperty(SimpleComponentState.java:401)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.SimpleConfigurationState.saveToBean(SimpleConfigurationState.java:240)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.SimpleConfigurationState.configureBean(SimpleConfigurationState.java:263)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.BeanConfigurator.configureBean(BeanConfigurator.java:297)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.PropertyConfiguration.configureService(PropertyConfiguration.java:978)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341615     /          at atg.nucleus.SingleNucleusConfigurator.configureService(SingleNucleusConfigurator.java:84)
    **** Error     Fri Mar 15 10:42:21 IST 2013     1363324341654     /     Unable to set configured property "/atg/Initial.initialServices" atg.nucleus.ConfigurationException: Unable to resolve component /atg/userprofiling/search/ProfileOutputConfig
    **** Error     Fri Mar 15 10:42:22 IST 2013     1363324342049     /     Unable to create class atg.search.routing.LiveIndexingService for configuration /atg/search/routing/LiveIndexingService java.lang.ClassNotFoundException: atg.search.routing.LiveIndexingService from BaseClassLoader@52d058d1{vfsfile:/C:/jboss-eap-5.1/jboss-as/server/ATGPublishing/deploy/ATGPublishing.ear/}     java.lang.ClassNotFoundException: atg.search.routing.LiveIndexingService from BaseClassLoader@52d058d1{vfsfile:/C:/jboss-eap-5.1/jboss-as/server/ATGPublishing/deploy/ATGPublishing.ear/}
    **** Error     Fri Mar 15 10:42:22 IST 2013     1363324342049     /          at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:477)
    **** Error     Fri Mar 15 10:42:22 IST 2013     1363324342049     /          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    **** Error     Fri Mar 15 10:42:22 IST 2013     1363324342049     /          at atg.nucleus.PropertyConfiguration.loadClassUsingReplacement(PropertyConfiguration.java:461)
    Can you please help me to fix this issue.
    Thanks & Regards,
    Murali.Ch

    hi,
    do you have atg search installed in your environment? if so configure it properly
    Edited by: Raghuram A on Mar 14, 2013 11:33 PM

  • JCO.Server Error while trying to execute a RFC program from SAP

    Hi,
    We are connecting to an external registered server program from SAP via Web Methods.
    The external server program is registered with the SAP Gateway. We have created a TCP/IP RFC destination and are able to connect to the destination successfully via SM59.
    An RFC function is created in SAP and is called using the syntax CALL FUNCTION "/NGN/BAPI_STRE_SEARCH_PROCESS" DESTINATION 'PRDB2B'. We have also handled the COMM_FALIURE and SYSTEM_FALIURE exceptions in the function call.
    We are monitoring the gateway via SMGW and see a connection log to the RFC destination as below
    Number - 10
    LUname - dev01
    TPName - sapgw00
    User - KRAORANE
    Status - CONNECTED
    Symbolic - PRDB2B
    Conversation - 86520353
    Prot - REG
    SAP return code - 0
    CPIC rtn code - 0
    The external program returns results as expected.
    However sometimes the RFC fails and returns the message “JCO.Server could not create server function /NGN/BAPI_STRE_SEARCH_PROCESS”.
    We are not able to figure what exactly is causing this error. Any help will be highly appreciated.
    -Kiran

    Hi,
    Please see the below links..
    JCO.Server Error while trying to execute a RFC program from SAP
    Re: JCO.Servcer could not find server function
    Re: JCO.Server could not find server function 'SET_SLD_DATA'
    /people/kathirvel.balakrishnan2/blog/2005/07/26/remote-enable-your-rfchosttoip-to-return-host-ip-to-jco
    Re: interfacing SAP with an existing java applications
    http://help.sap.com/saphelp_nw04/helpdata/en/47/80f671ee6e4b41b63c0fe46bd6e4f8/content.htm
    http://www.sapgenie.com/faq/jco.htm
    Regards
    Chilla..

  • Error when creating a new Reports Server instance

    Hi,
    I have tried to create and start a new reports server instance using the following method:
    1- Creating the report server instance:
    rwserver server=%newrepserver% start
    2- Stopping the OPMN:
    *%ORACLEHOME%\opmn\bin\opmnctl stopall*
    3- Adding a new server target to OPMN.XML
    *%ORACLEHOME%\bin\addNewServerTarget.bat %newrepserver%*
    4- Updating the configuration with new OPMN settings:
    *%ORACLEHOME%\dcm\bin\dcmctl.bat updateconfig -ct opmn -v -d*
    *%ORACLEHOME%\dcm\bin\dcmctl.bat resyncinstance -v -d*
    5- Starting the OPMN again:
    *%ORACLEHOME%\opmn\bin\opmnctl startall*
    However, when I try to start the OPMN again, I receive the following error:
    opmn id="##########:6200 5 of 6 processes started
    ias-instance id=red.########.########.lan
    ++++++++++++++++++++++++++++++++++
    ias-component/process-type-process-set:
    *%newrepserver%/ReportsServer/%newrepserver%*
    Error --> Process (pid=6888) failed to start a managed process after the maximum retry limit.
    Log: %ORACLEHOME%\opmn\logs\%newrepserver%~ReportsServer~%newrepserver%
    Any ideas as to why the reports server instance cannot be started?
    I have tried rebooting the server many times and have recreated other reports server instances but with no luck.
    Many thanks in advance,
    Chris

    On Windows this is caused most often by the temporary directory setting.
    Change the temporary directory to some fixed directory writable by anybody, e.g. "C:\temp".
    Change this in:
    Registry entry: hkey_local_machine\software\oracle\key_<oashome>\REPORTS_TMP
    <oashome>\opmn\conf\opmn.xml: search for environment variable TEMP (under ias-instance)
    Good luck!

Maybe you are looking for

  • Powerpivot 2013 doesn't work on Excel 2013 / Office 365: data model issue

    Hi guys I recently upgraded my Office 2010 to Office 365, with Excel 2013. Before installing Office 365 I uninstalled Office 2010. I'm running Windows 8 64 bits. I have the Powerpivot 2013 add-in, I can activate it without any issue. However when I c

  • Was not copied because cannot be played on this iPod

    I am trying to load Apple Lossless Encoded files on a 2nd generation shuffle and get the paraphrased error message. Is it that the software that came with the shuffle in late 2008 can't deal with ALE files? If so, is there a place I can upgrade the s

  • Contribute CS4

    Can you use Contribute CS4 behind a ISA Proxy?

  • Windows stalls in install iTunes 5.0

    Hi, I have a problem installing the new iTunes on my Windows XP. If it's going to install new files, Windows stalls, it doesn't do anything anymore after that. I have to reboot every time, but it goes on every time. Does anyone know a solution for th

  • Can u please explain the difference between both the queries.

    col TABLESPACE_NAME format a15; col MAXSPACE format 9999999; col USEDSPACE format 999999; col FREESPACE format 999999; col "% Free Space" format a6; select tablespace_name, sum((((8192*maxextend)/1024)/1024)) maxspace, ((sum(bytes)/1024)/1024) usedsp