<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Error Using JCo.. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-using-jco/m-p/1342498#M173134</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When i start the JCo Outbound server program in Java it terminates with an Exception saying Server Start Exception because of Invalid Gateway Host and Service....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What should be done??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Java code of RfcDest.java is given below...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RfcDest.java - Simple implementation of an (external RFC) server. This example is based on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;static metadata with non-unicode layout, so the calls only from non-unicode systems can be&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;handled.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Property of SAP AG, Walldorf&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(c) Copyright SAP AG, Walldorf, 2000-2003.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;All rights reserved.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;import com.sap.mw.jco.*;&lt;/P&gt;&lt;P&gt;import java.util.*;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;@version 1.0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;@author  SAP AG, Walldorf&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//******************************************************************************&lt;/P&gt;&lt;P&gt;public class RfcDest implements JCO.ServerExceptionListener, JCO.ServerStateChangedListener {&lt;/P&gt;&lt;P&gt;//******************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Implementation of our own repository.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Just dummy extend the basic repository that comes with the JCO package&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  static public class Repository extends JCO.BasicRepository implements IRepository {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creates a new empty repository&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public Repository(String name)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      super(name);&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /** The repository we gonna be using */&lt;/P&gt;&lt;P&gt;  protected static IRepository repository;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  static {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    repository = new Repository("TestRepository");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // non-unicode definition of functions. The server with this repository can&lt;/P&gt;&lt;P&gt;    // dispatch calls only from non-unicode systems&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    //  Add function 'STFC_CONNECTION'&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    JCO.MetaData fmeta = new JCO.MetaData("STFC_CONNECTION");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    repository.addFunctionInterfaceToCache(fmeta);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    //  Add function 'STFC_STRUCTURE'&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    fmeta = new JCO.MetaData("STFC_STRUCTURE");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("IMPORTSTRUCT", JCO.TYPE_STRUCTURE, 144, 0, 0, JCO.IMPORT_PARAMETER, "RFCTEST");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("ECHOSTRUCT",   JCO.TYPE_STRUCTURE, 144, 0, 0, JCO.EXPORT_PARAMETER, "RFCTEST");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RESPTEXT",     JCO.TYPE_CHAR,      255, 0, 0, JCO.EXPORT_PARAMETER,  null    );&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RFCTABLE",     JCO.TYPE_TABLE,     144, 0, 0, 0,                    "RFCTEST");&lt;/P&gt;&lt;P&gt;    repository.addFunctionInterfaceToCache(fmeta);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    // Add the structure RFCTEST to the structure cache&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    JCO.MetaData smeta  = new JCO.MetaData("RFCTEST");&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCFLOAT",  JCO.TYPE_FLOAT,  8,  0, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCCHAR1",  JCO.TYPE_CHAR,   1,  8, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT2",   JCO.TYPE_INT2,   2, 10, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT1",   JCO.TYPE_INT1,   1, 12, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCICHAR4", JCO.TYPE_CHAR,   4, 13, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT4",   JCO.TYPE_INT,    4, 20, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCHEX3",   JCO.TYPE_BYTE,   3, 24, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCCHAR2",  JCO.TYPE_CHAR,   2, 27, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCTIME",   JCO.TYPE_TIME,   6, 29, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFRDATE",   JCO.TYPE_DATE,   8, 35, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCDATA1",  JCO.TYPE_CHAR,   50,43, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCDATA2",  JCO.TYPE_CHAR,   50,93, 0);&lt;/P&gt;&lt;P&gt;    repository.addStructureDefinitionToCache(smeta);&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Implementation of my own server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  static public class Server extends JCO.Server {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Create an instance of my own server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param gwhost the gateway host&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param gwserv the gateway service number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param progid the program id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param repository the repository used by the server to lookup the definitions of an inc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public Server(String gwhost, String gwserv, String progid, IRepository repository)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      super(gwhost,gwserv,progid,repository);&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Not really necessary to override this function but for demonstration purposes...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected JCO.Function getFunction(String function_name)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      JCO.Function function = super.getFunction(function_name);&lt;/P&gt;&lt;P&gt;      return function;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Not really necessary to override this method but for demonstration purposes...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected boolean checkAuthorization(String function_name, int authorization_mode,&lt;/P&gt;&lt;P&gt;        String authorization_partner, byte[] authorization_key)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      /* Simply allow everyone to invoke the services */&lt;/P&gt;&lt;P&gt;      return true;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Overrides the default method.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Can handle only the two functions STFC_CONNECTION and STFC_STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected void handleRequest(JCO.Function function)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      JCO.ParameterList input  = function.getImportParameterList();&lt;/P&gt;&lt;P&gt;      JCO.ParameterList output = function.getExportParameterList();&lt;/P&gt;&lt;P&gt;      JCO.ParameterList tables = function.getTableParameterList();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      System.out.println("handleRequest(" + function.getName() + ")");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if (function.getName().equals("STFC_CONNECTION")) {&lt;/P&gt;&lt;P&gt;        output.setValue(input.getString("REQUTEXT"),"ECHOTEXT");&lt;/P&gt;&lt;P&gt;        output.setValue("This is a response from RfcDest.java","RESPTEXT");&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;      else if (function.getName().equals("STFC_STRUCTURE")) {&lt;/P&gt;&lt;P&gt;        JCO.Structure sin  = input.getStructure("IMPORTSTRUCT");&lt;/P&gt;&lt;P&gt;        JCO.Structure sout = (JCO.Structure)sin.clone();&lt;/P&gt;&lt;P&gt;        try {&lt;/P&gt;&lt;P&gt;          System.out.println(sin);&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        catch (Exception ex) {&lt;/P&gt;&lt;P&gt;          System.out.println(ex);&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        output.setValue(sout,"ECHOSTRUCT");&lt;/P&gt;&lt;P&gt;        output.setValue("This is a response from RfcDest.java","RESPTEXT");&lt;/P&gt;&lt;P&gt;      }//if&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /** List of servers */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  // JCO.Server srv[] = new JCO.Server[2];   &amp;lt;-- Original&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;  JCO.Server srv[] = new JCO.Server[1];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constructor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public RfcDest()&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    // Yes, we're interested in server exceptions&lt;/P&gt;&lt;P&gt;    JCO.addServerExceptionListener(this);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // And we also want to know when the server(s) change their states&lt;/P&gt;&lt;P&gt;    JCO.addServerStateChangedListener(this);&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start the server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void startServers()&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    // Server 1 listens for incoming requests from system 1&lt;/P&gt;&lt;P&gt;    // (Change gateway host, service, and program ID according to your needs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    srv[0] = new Server("gateway","sapgw00","JCOSERVER01",repository);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // Server 2 listens for incoming requests from system 2&lt;/P&gt;&lt;P&gt;    // (Change gateway host, service, and program ID according to your needs)&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /******* Next line commented out by Anand ****************/	&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //srv[1] = new Server("gwhost2","gwserv00","JCOSERVER02",repository);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    for (int i = 0; i &amp;lt; srv.length; i++) {&lt;/P&gt;&lt;P&gt;      try {&lt;/P&gt;&lt;P&gt;        srv&amp;lt;i&amp;gt;.setTrace(true);&lt;/P&gt;&lt;P&gt;        srv&amp;lt;i&amp;gt;.start();&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;      catch (Exception ex) {&lt;/P&gt;&lt;P&gt;        System.out.println("Could not start server " + srv&amp;lt;i&amp;gt;.getProgID() + ":\n" + ex);&lt;/P&gt;&lt;P&gt;      }//try&lt;/P&gt;&lt;P&gt;    }//for&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Simply prints the text of the exception and a stack trace&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void serverExceptionOccurred(JCO.Server server, Exception ex)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    System.out.println("Exception in server " + server.getProgID() + ":\n" + ex);&lt;/P&gt;&lt;P&gt;    ex.printStackTrace();&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Simply prints server state changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void serverStateChangeOccurred(JCO.Server server, int old_state, int new_state)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    System.out.print("Server " + server.getProgID() + " changed state from [");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_STOPPED    ) != 0) System.out.print(" STOPPED ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_STARTED    ) != 0) System.out.print(" STARTED ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_LISTENING  ) != 0) System.out.print(" LISTENING ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_TRANSACTION) != 0) System.out.print(" TRANSACTION ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_BUSY       ) != 0) System.out.print(" BUSY ");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    System.out.print("] to [");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_STOPPED    ) != 0) System.out.print(" STOPPED ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_STARTED    ) != 0) System.out.print(" STARTED ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_LISTENING  ) != 0) System.out.print(" LISTENING ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_TRANSACTION) != 0) System.out.print(" TRANSACTION ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_BUSY       ) != 0) System.out.print(" BUSY ");&lt;/P&gt;&lt;P&gt;    System.out.println("]");&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  public static void main(String[] argv)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    RfcDest obj = new RfcDest();&lt;/P&gt;&lt;P&gt;    obj.startServers();&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 28 Apr 2006 10:34:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-04-28T10:34:51Z</dc:date>
    <item>
      <title>Error Using JCo..</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-using-jco/m-p/1342498#M173134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When i start the JCo Outbound server program in Java it terminates with an Exception saying Server Start Exception because of Invalid Gateway Host and Service....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What should be done??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Java code of RfcDest.java is given below...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RfcDest.java - Simple implementation of an (external RFC) server. This example is based on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;static metadata with non-unicode layout, so the calls only from non-unicode systems can be&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;handled.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Property of SAP AG, Walldorf&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(c) Copyright SAP AG, Walldorf, 2000-2003.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;All rights reserved.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;import com.sap.mw.jco.*;&lt;/P&gt;&lt;P&gt;import java.util.*;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;@version 1.0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;@author  SAP AG, Walldorf&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//******************************************************************************&lt;/P&gt;&lt;P&gt;public class RfcDest implements JCO.ServerExceptionListener, JCO.ServerStateChangedListener {&lt;/P&gt;&lt;P&gt;//******************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Implementation of our own repository.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Just dummy extend the basic repository that comes with the JCO package&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  static public class Repository extends JCO.BasicRepository implements IRepository {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creates a new empty repository&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public Repository(String name)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      super(name);&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /** The repository we gonna be using */&lt;/P&gt;&lt;P&gt;  protected static IRepository repository;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  static {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    repository = new Repository("TestRepository");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // non-unicode definition of functions. The server with this repository can&lt;/P&gt;&lt;P&gt;    // dispatch calls only from non-unicode systems&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    //  Add function 'STFC_CONNECTION'&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    JCO.MetaData fmeta = new JCO.MetaData("STFC_CONNECTION");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);&lt;/P&gt;&lt;P&gt;    repository.addFunctionInterfaceToCache(fmeta);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    //  Add function 'STFC_STRUCTURE'&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    fmeta = new JCO.MetaData("STFC_STRUCTURE");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("IMPORTSTRUCT", JCO.TYPE_STRUCTURE, 144, 0, 0, JCO.IMPORT_PARAMETER, "RFCTEST");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("ECHOSTRUCT",   JCO.TYPE_STRUCTURE, 144, 0, 0, JCO.EXPORT_PARAMETER, "RFCTEST");&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RESPTEXT",     JCO.TYPE_CHAR,      255, 0, 0, JCO.EXPORT_PARAMETER,  null    );&lt;/P&gt;&lt;P&gt;    fmeta.addInfo("RFCTABLE",     JCO.TYPE_TABLE,     144, 0, 0, 0,                    "RFCTEST");&lt;/P&gt;&lt;P&gt;    repository.addFunctionInterfaceToCache(fmeta);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    // Add the structure RFCTEST to the structure cache&lt;/P&gt;&lt;P&gt;    //----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------------------" /&gt;&lt;P&gt;    JCO.MetaData smeta  = new JCO.MetaData("RFCTEST");&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCFLOAT",  JCO.TYPE_FLOAT,  8,  0, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCCHAR1",  JCO.TYPE_CHAR,   1,  8, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT2",   JCO.TYPE_INT2,   2, 10, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT1",   JCO.TYPE_INT1,   1, 12, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCICHAR4", JCO.TYPE_CHAR,   4, 13, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCINT4",   JCO.TYPE_INT,    4, 20, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCHEX3",   JCO.TYPE_BYTE,   3, 24, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCCHAR2",  JCO.TYPE_CHAR,   2, 27, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCTIME",   JCO.TYPE_TIME,   6, 29, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFRDATE",   JCO.TYPE_DATE,   8, 35, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCDATA1",  JCO.TYPE_CHAR,   50,43, 0);&lt;/P&gt;&lt;P&gt;    smeta.addInfo("RFCDATA2",  JCO.TYPE_CHAR,   50,93, 0);&lt;/P&gt;&lt;P&gt;    repository.addStructureDefinitionToCache(smeta);&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Implementation of my own server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  static public class Server extends JCO.Server {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Create an instance of my own server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param gwhost the gateway host&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param gwserv the gateway service number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param progid the program id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; @param repository the repository used by the server to lookup the definitions of an inc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public Server(String gwhost, String gwserv, String progid, IRepository repository)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      super(gwhost,gwserv,progid,repository);&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Not really necessary to override this function but for demonstration purposes...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected JCO.Function getFunction(String function_name)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      JCO.Function function = super.getFunction(function_name);&lt;/P&gt;&lt;P&gt;      return function;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Not really necessary to override this method but for demonstration purposes...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected boolean checkAuthorization(String function_name, int authorization_mode,&lt;/P&gt;&lt;P&gt;        String authorization_partner, byte[] authorization_key)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      /* Simply allow everyone to invoke the services */&lt;/P&gt;&lt;P&gt;      return true;&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    /**&lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Overrides the default method.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Can handle only the two functions STFC_CONNECTION and STFC_STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    protected void handleRequest(JCO.Function function)&lt;/P&gt;&lt;P&gt;    {&lt;/P&gt;&lt;P&gt;      JCO.ParameterList input  = function.getImportParameterList();&lt;/P&gt;&lt;P&gt;      JCO.ParameterList output = function.getExportParameterList();&lt;/P&gt;&lt;P&gt;      JCO.ParameterList tables = function.getTableParameterList();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      System.out.println("handleRequest(" + function.getName() + ")");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if (function.getName().equals("STFC_CONNECTION")) {&lt;/P&gt;&lt;P&gt;        output.setValue(input.getString("REQUTEXT"),"ECHOTEXT");&lt;/P&gt;&lt;P&gt;        output.setValue("This is a response from RfcDest.java","RESPTEXT");&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;      else if (function.getName().equals("STFC_STRUCTURE")) {&lt;/P&gt;&lt;P&gt;        JCO.Structure sin  = input.getStructure("IMPORTSTRUCT");&lt;/P&gt;&lt;P&gt;        JCO.Structure sout = (JCO.Structure)sin.clone();&lt;/P&gt;&lt;P&gt;        try {&lt;/P&gt;&lt;P&gt;          System.out.println(sin);&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        catch (Exception ex) {&lt;/P&gt;&lt;P&gt;          System.out.println(ex);&lt;/P&gt;&lt;P&gt;        }&lt;/P&gt;&lt;P&gt;        output.setValue(sout,"ECHOSTRUCT");&lt;/P&gt;&lt;P&gt;        output.setValue("This is a response from RfcDest.java","RESPTEXT");&lt;/P&gt;&lt;P&gt;      }//if&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /** List of servers */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  // JCO.Server srv[] = new JCO.Server[2];   &amp;lt;-- Original&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;  JCO.Server srv[] = new JCO.Server[1];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Constructor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public RfcDest()&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    // Yes, we're interested in server exceptions&lt;/P&gt;&lt;P&gt;    JCO.addServerExceptionListener(this);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // And we also want to know when the server(s) change their states&lt;/P&gt;&lt;P&gt;    JCO.addServerStateChangedListener(this);&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start the server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void startServers()&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    // Server 1 listens for incoming requests from system 1&lt;/P&gt;&lt;P&gt;    // (Change gateway host, service, and program ID according to your needs)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    srv[0] = new Server("gateway","sapgw00","JCOSERVER01",repository);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    // Server 2 listens for incoming requests from system 2&lt;/P&gt;&lt;P&gt;    // (Change gateway host, service, and program ID according to your needs)&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /******* Next line commented out by Anand ****************/	&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    //srv[1] = new Server("gwhost2","gwserv00","JCOSERVER02",repository);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;  /*********************************************************/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    for (int i = 0; i &amp;lt; srv.length; i++) {&lt;/P&gt;&lt;P&gt;      try {&lt;/P&gt;&lt;P&gt;        srv&amp;lt;i&amp;gt;.setTrace(true);&lt;/P&gt;&lt;P&gt;        srv&amp;lt;i&amp;gt;.start();&lt;/P&gt;&lt;P&gt;      }&lt;/P&gt;&lt;P&gt;      catch (Exception ex) {&lt;/P&gt;&lt;P&gt;        System.out.println("Could not start server " + srv&amp;lt;i&amp;gt;.getProgID() + ":\n" + ex);&lt;/P&gt;&lt;P&gt;      }//try&lt;/P&gt;&lt;P&gt;    }//for&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Simply prints the text of the exception and a stack trace&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void serverExceptionOccurred(JCO.Server server, Exception ex)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    System.out.println("Exception in server " + server.getProgID() + ":\n" + ex);&lt;/P&gt;&lt;P&gt;    ex.printStackTrace();&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  /**&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Simply prints server state changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   */&lt;/P&gt;&lt;P&gt;  public void serverStateChangeOccurred(JCO.Server server, int old_state, int new_state)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    System.out.print("Server " + server.getProgID() + " changed state from [");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_STOPPED    ) != 0) System.out.print(" STOPPED ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_STARTED    ) != 0) System.out.print(" STARTED ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_LISTENING  ) != 0) System.out.print(" LISTENING ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_TRANSACTION) != 0) System.out.print(" TRANSACTION ");&lt;/P&gt;&lt;P&gt;    if ((old_state &amp;amp; JCO.STATE_BUSY       ) != 0) System.out.print(" BUSY ");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    System.out.print("] to [");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_STOPPED    ) != 0) System.out.print(" STOPPED ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_STARTED    ) != 0) System.out.print(" STARTED ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_LISTENING  ) != 0) System.out.print(" LISTENING ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_TRANSACTION) != 0) System.out.print(" TRANSACTION ");&lt;/P&gt;&lt;P&gt;    if ((new_state &amp;amp; JCO.STATE_BUSY       ) != 0) System.out.print(" BUSY ");&lt;/P&gt;&lt;P&gt;    System.out.println("]");&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  public static void main(String[] argv)&lt;/P&gt;&lt;P&gt;  {&lt;/P&gt;&lt;P&gt;    RfcDest obj = new RfcDest();&lt;/P&gt;&lt;P&gt;    obj.startServers();&lt;/P&gt;&lt;P&gt;  }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Apr 2006 10:34:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-using-jco/m-p/1342498#M173134</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-28T10:34:51Z</dc:date>
    </item>
    <item>
      <title>Re: Error Using JCo..</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-using-jco/m-p/1342499#M173135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Can u please post the exception trace..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tanveer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Tanveer Shaikh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Apr 2006 12:33:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-using-jco/m-p/1342499#M173135</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-04-28T12:33:27Z</dc:date>
    </item>
  </channel>
</rss>

