Habe die Lösung gefunden. Ein Tipp in einem anderen Forum brachte mich weiter:
Erstellen eines Servers ohne Property-Files:
Ein JCo Server benötig 2 Verbindungen zu SAP-System eine Destination(Client)-Verbindung über die er die notwendigen Repository-Daten lesen kann. Die zweite Verbindung ist die Server-Verbindung über die er sich am SAP-Gateway anmeldet. Über diese Verbindung werden Aufrufe seitens des SAP-Systems an den Server weitergeleitet. Beide Verbindungen müssen somit im Server implementiert und gestartet werden.
Implementation:
1. Eigenen ServerDataProvider erstellen der das Interface ServerDataProvider implementiert
Wichtig ist die Methode getServerProperties(). Gut wäre vielleicht auch eine Methode setProperties() zu implementieren
2. Eigenen DestinationDataProvidererstellen der das Interface DestinationDataProvider implementiert
Wichtig ist die Methode getDestinationProperties(). Gut wäre vielleicht auch eine Methode setProperties() zu implementieren
3. Provider erzeugen und die Properties setzen
RFCDestinationDataProvider destDataProvider = new RFCDestinationDataProvider();
destDataProvider.setProperties("host", "sysNo", "client", "user", "password", "language");
RFCServerDataProvider serverDataProvider = new RFCServerDataProvider();
serverDataProvider.setProperties("host", "ghHost", "progID", "connection_count");
4. Beide Provider am JCo Environment registrieren
Environment.registerDestinationDataProvider(destDataProvider);
Environment.registerServerDataProvider(serverDataProvider);
5. Repository laden. Dies hängt an der Destination, welche wir zuvor lesen müssen
JCoDestination destinat = JCoDestinationManager.getDestination("test");
JCoRepository rep = destinat.getRepository();
6. Server erzeugen und Repository zuweisen
JCoServer server = JCoServerFactory.getServer(SERVER_NAME );
server.setRepository(rep);
7. HandlerFactory erzeugen
//Handler definieren
DefaultServerHandlerFactory.FunctionHandlerFactory factory = new DefaultServerHandlerFactory.FunctionHandlerFactory();
8. Eigene Klassen anlegen die die Hanlder für die Funktionsaufrufe enhalten d.h. das Interface JCoServerFunctionHandler implementieren.
Die Handler werden dann an der HandlerFactory mit dem entsprechenden Funktionsbausteinnamen auf den sie reagieren sollen registrier.
//Handler für Funktionsbausteine erzeugen und registrieren
JCoServerFunctionHandler stfcConnectionHandler = new StfcConnectionHandler();
factory.registerHandler("STFC_CONNECTION", stfcConnectionHandler);
factory.registerHandler("STFC_STRUCTURE", stfcConnectionHandler);
9. Die HandlerFactory am Server registrieren
//Hanlder am Server registrieren
server.setCallHandlerFactory(factory);
10. Den Server starten
server.start();
Ich hoffe es ist verständlich und es kann noch jemand außer mir gebrauchen
Albert