Wie JCo 3 Server ohne Property-File erstellen ?

Rund um Java und SAP®.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Wie JCo 3 Server ohne Property-File erstellen ?

Beitrag von Albert (ForumUser / 2 / 0 / 0 ) »
Hallo,

ich möchte einen Server mit JC0 3 erstellen. Das Beispiel aus der Hilfe hat auch problemlos funktioniert. Dort werden aber die Verbindungsparametert in ein Property-File geschrieben und dann wieder gelesen. Im Handbuch steht auch, dass man das eigentlich aus Sicherheitsgründen nicht machen sollte.

Auf Seite 9 steht : "For this example the destination configuration is stored in a file that is called by the program. In practice you should avoid this for security reasons."
Manuall: http://www.grupos.com.br/group/abap4/Me ... 3.0_EN.pdf
Hier habe ich das Beispiel von Seite 44 (StepByStepServer) als Vorlage genommen.

Wie macht man es aber dann ?? Wichtig ich arbeite mit JCo 3 !!

Ich haber bisher keine Klasse gefunden über die ich die Verbindungsdaten setzen und dann beim Erzeugen des Servers übergeben kann.

Bisher mache ich : server = JCoServerFactory.getServer("ServerName");


Habt Ihr eine Idee oder besser ein Beipiel ?

Danke
Albert

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Wie JCo 3 Server ohne Property-File erstellen ?

Beitrag von Albert (ForumUser / 2 / 0 / 0 ) »
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 :twisted:
Albert

Re: Wie JCo 3 Server ohne Property-File erstellen ?

Beitrag von herjoh (ForumUser / 1 / 0 / 0 ) »
Hallo Albert,

danke für die Info.
Haben Sie noch ein Codebeispiel Ihrer Lösung für mich?

Gruß
herjoh

Seite 1 von 1

Vergleichbare Themen

3
Antw.
16234
Views
URL File-Server Internet File Download /Delet cl_http_client
von Luigi91 » 04.10.2016 08:28 • Verfasst in ABAP Objects®
3
Antw.
7729
Views
add spaces at the end of file while transfer to app server
von abapper » 28.09.2005 15:47 • Verfasst in Development Related
2
Antw.
2170
Views
File-Informationen vom Server lesen z.B. Erstelldatum
von MindMOB » 13.08.2008 14:45 • Verfasst in ABAP® Core
1
Antw.
1688
Views
XML File vom UNIX Server in ABAP aufrufen
von axel.mohnen » 14.06.2006 09:08 • Verfasst in ABAP® Core
3
Antw.
3045
Views
RSTXPDFT4 PDF-File erstellen, Acrobat Reader autom. starten
von sgevolker » 22.09.2006 10:44 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 498
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2139
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8735