SAP JAVA Connector 3.0

Hallo,

wer kennst sich aus ?

Ich versuche einen RFCServer mit dem JCo 3.0 zu schreiben. Zu 2.x hat sich hier einiges geändert !!!

In den Beispielen werden der Daten für die Verbindung zum SAP-System aus einem Property-File gelesen. Es steht aber auch gleichzeitig im Handbuch der Hinweis, dass man das aus Sicherheitsgründen nicht machen soll. Leider ist keine andere Methode beschrieben.

Auf der Suche nach SET-Methoden um z.B. GW_HOST zu setzen habe ich keine Klasse gefunden, die das kann.

Deshalb die Frage an Euch. Wie geht das ohne Property-File.

Danke
Albert

Hallo,

Passwörter in Klartext zu speichern sollte immer vermieden werden. Darum der Hinweis in dem Handbuch. Sowas sollte man nur auf einem Entwicklungssystem machen.
Also in Deinem Fall wäre das völlig ok.
Du kennst diesen Beispielcode?

public class MyFirstServer 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 MyFirstServer(String gwhost, String gwserv, 
 String progid, IRepository repository) {
 super(gwhost,gwserv,progid,repository);
 } 
 /\*\*

 \* Overrides the default method.

 \*/

 protected void handleRequest(JCO.Function function) {
 JCO.ParameterList input = function.getImportParameterList();
 JCO.ParameterList output = function.getExportParameterList();
 JCO.ParameterList tables = function.getTableParameterList();
 System.out.println("handleRequest(" + function.getName() + ")");

 if (function.getName().equals("STFC\_CONNECTION")) {

 System.out.println("\>\>\> request STFC\_CONNECTION: " + input.getString("REQUTEXT"));
 output.setValue(input.getString("REQUTEXT"),"ECHOTEXT");
 output.setValue("This is a response from MyFirstServer","RESPTEXT");
 }
 }
}
public class FirstExample {

 static MyFirstServer serverConnections[] = new MyFirstServer[3];

 /\*\*

 \* Start the server

 \*/

 public static void startServers() {

 JCO.addClientPool("POOL", 3, "000", "user" ,"password" , "EN", 

 "abap\_system" ,"00");

 IRepository repository = JCO.createRepository("REP", "POOL");

 for(int i = 0; I 
 "JCOSERVER01", // corresponds to program ID defined in SM59
 repository);
 serverConnections [i].start();
 }
 public static void stopServers() {
 for(int i = 0; I 

Habe die Antwort dank der Hilfe von UlrichC gefunden.

Bitte nachlesen unter: http://www.abapforum.com/forum/viewtopic.php?f=6&t=1…

Albert