Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

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

Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

Beitrag von matzeOak (ForumUser / 3 / 0 / 0 ) »
Hallo zusammen,
ich bin ein Frischling in Sachen SAP & Java-Programmierung und hoffe auf etwas Hilfe.

Ich möchte einen Java-Client an ein SAP-System anbinden. Nach erstem Studium von Internetquellen habe ich Jco gewählt.
Ein entsprechendes SAP-Abap-Trialsystem habe ich mir aus diesem Forum auf einer virtuellen Maschine installiert und normal registriert. Die Jco-Sourcen sind auf meinem lokalen System installiert und korrekt in das Java-Projekt eingebunden.
Beim Versuch der Anmeldung des Java-Clients von meinem lokalen System an die SAP-Instanz in der VM habe ich folgende Fehlermeldung erhalten:
------------------------------------------
Fehler!
Connect to SAP gateway failed
Connect_PM GWHOST=/H/scspapp13.firm.local/S/3300/H/scspapp13, GWSERV=sapgw00, ASHOST=/H/scspapp13.firm.local/S/3300/H/scspapp13, SYSNR=00

LOCATION CPIC (TCP/IP) on local host
ERROR connection to partner broken

TIME Tue May 29 10:48:12 2012
RELEASE 640
COMPONENT NI (network interface)
VERSION 37
RC -6
MODULE ninti.c
LINE 756
DETAIL NiPRead (192.168.100.135/3300, hdl 1)
SYSTEM CALL recv
COUNTER 1

com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed
Connect_PM GWHOST=/H/scspapp13.firm.local/S/3300/H/scspapp13, GWSERV=sapgw00, ASHOST=/H/scspapp13.firm.local/S/3300/H/scspapp13, SYSNR=00

LOCATION CPIC (TCP/IP) on local host
ERROR connection to partner broken

TIME Tue May 29 10:48:12 2012
RELEASE 640
COMPONENT NI (network interface)
VERSION 37
RC -6
MODULE ninti.c
LINE 756
DETAIL NiPRead (192.168.100.135/3300, hdl 1)
SYSTEM CALL recv
COUNTER 1
------------------------------------------

Der zugrunde liegende Code besteht lediglich aus dem Verbindungsaufbau:
------------------------------------------
try
{
conn = JCO.createClient("000",
"SAP*",
"minisap2",
"DE",
"/H/scspapp13.firm.local/S/3300/H/scspapp13",
"00"
);
conn.connect();
System.out.println("Verbindung erfolgreich aufgebaut!");
}
catch( Exception ex)
{
System.out.println("Fehler!\n" + ex.getMessage().toString() + "\n" + ex);
}
------------------------------------------

Könnte mir da jemand weiterhelfen?
Danke im Voraus!

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


Re: Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Hier habe ich etwas auf meinem Rechner gefunden (ohne Gewaehr):

Code: Alles auswählen.

/**
 * Example1.java
 * Property of SAP AG, Walldorf
 * (c) Copyright SAP AG, Walldorf, 2000.
 * All rights reserved.
 */
import com.sap.mw.jco.*;

/**
 * @version 1.0
 * @author  SAP AG, Walldorf
 */
public class Example1 {

  public static void main(String[] argv)
  {
    JCO.Client client = null;

    try {

      // Print the version of the underlying JCO library
      System.out.println("\n\nVersion of the JCO-library:\n" + 
                             "---------------------------\n" + JCO.getMiddlewareVersion());

      // Create a client connection to a dedicated R/3 system
      client = JCO.createClient("000",      // SAP client
                                "johndoe",  // userid
                                "*****",    // password
                                "EN",        // language
                                "appserver",// host name
                                "00");        // system number

      // Open the connection
      client.connect();

      // Get the attributes of the connection and print them 

      JCO.Attributes attributes = client.getAttributes();
      System.out.println("Connection attributes:\n" + 
                         "----------------------\n" + attributes);
      // Create the input parameter list
      JCO.ParameterList input = JCO.createParameterList();

      // Set the first (and only) import parameter
      input.appendValue("REQUTEXT", JCO.TYPE_CHAR, 255, "This is my first Jayco example.");

      // Create the out parameter list
      JCO.ParameterList output = JCO.createParameterList();

      // Specify the parameters types the function will be returning
      output.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255);
      output.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255);

      // Call the function
      client.execute("STFC_CONNECTION", input, output);

      // Print the result
      System.out.println("The function 'STFC_CONNECTION' returned the following parameters:\n" + 
                         "-----------------------------------------------------------------");
      for (int i = 0; i < output.getFieldCount(); i++) {
          System.out.println("Name: " +  output.getName(i) + " Value: " + output.getString(i)); 
      }//for

      // Close the connection
      client.disconnect();

      // All done
      System.out.println("\n\nCongratulations! It worked.");
    }
    catch (Exception ex) {
      System.out.println("Caught an exception: \n" + ex);
      if (client != null) client.disconnect();
    } 
  } 
}


Re: Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

Beitrag von matzeOak (ForumUser / 3 / 0 / 0 ) »
Vielen Dank für den Code,Unit605. Ich habe ähnliche Code-Fragmente auch gefunden und habe deine Vorschläge (createClient-Funktion) so berücksichtigt. Diese Fehlermeldung erscheint jetzt nicht mehr. ..... leider ne neue ... sorry

(103) rfc_error_logon_failure Anwendername oder Passwort ist nicht korrekt.
Was ich hier nicht verstehe ist, dass mein User SAP* doch ein Systemuser ist und alle Rechte (SAP_ALL) hat. Ich kann mich mit diesem User am System korrekt anmelden, per Java-Programm - unter Berücksichtigung der Verbesserungen - aber eben nicht. Ich habe Groß- & Kleinschreibung probiert, habe in der Transaktion SU01 auch testhalber einen anderen Benutzertyp (Service statt Dialog) verwendet. Nutzt nix.

client = JCO.createClient("000", // SAP client
"SAP*", // userid
"minisap2", // password
"DE", // language
"scspapp13", // host name
"00");

Muss ich SAP-seitig noch etwas konfigurieren?
Habe da was von RFC-Destination gelesen. Muss ich hier einen Eintrag pflegen?
Ich weiß ... sorry ich bin noch blutig unterwegs ... aber vielleicht hat jemand von euch auch diese Probleme gehabt.

Nochmals danke für jede Unterstützung

Re: Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin,
hier ein kleines Pflaster ( kann kein Blut sehen ).
Die Fehlermeldung besagt, daß der Anwendername (e.g. SAP*) oder das dazugehörige Passwort(e.g.minisap2) nicht korrekt ist.
Mein Vorschlag ist: Melde dich mal mit "den Richtigen" Daten ganz normal mit dem SAPGUI an.
Falls Du dich am SAP anmelden kannst, könntest Du Die SAPlogon-Werte verwenden !
Heißt Dein Rechner(die virtuelle Maschine) "scspapp13" ?
Sicherer ist die IP des SAP-Servers zu nehmen (jedenfalls am Anfang).
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Hilfe: Jco Connect Java-Client -- SAP ABAP-Instanz??

Beitrag von matzeOak (ForumUser / 3 / 0 / 0 ) »
Hallo zusammen.
Danke auch dir Tron für das Pflaster und deine Tipps.
Es funktioniert jetzt!!! Ich denke, dass das Vorgehen für Tests taugt. Etwas Professionellers mag es mit Sicherheit noch geben.
Meine Vorgehensweise:
Java:
- Im Java-Client (Konsolenanwendung, Code siehe Beitrag weiter oben) habe ich statt des Hostnamens die IP (keinen Port) vergeben.
- Angabe des Testusers mit Passwort (Beschreibung Anlage Testuser folgt unten)
SAP:
- Von mir angelegte RFC-Destinationen habe ich entfernt.
- Anlage einer neuen Testrolle (Einzelrolle), die die relevanten RFC-Rechte bzw. Parametrierung des S_RFC-Objekts enthält (Transaktion PFCG).
Eine Anleitung wie das funktioniert ist unter
http://help.sap.com/saphelp_nw70ehp1/he ... ontent.htm
und
http://help.sap.com/saphelp_nw70ehp1/he ... ontent.htm zu finden.
- Anlage eines neuen Testusers mit vorsichtshalber groß geschriebenen Usernamen und groß geschriebenen Passwort (Transaktion Su01)
Reiter Logondaten:
Benutzertyp ist Kommunikation (habe aber auch unter sdn gelesen, dass Service gehen soll). Habe keine Benutzergruppe vergeben
Reiter Festwerte:
persönliche Zeitzone = CET
Reiter Rollen:
Zuordnung der selbst erstellten Rolle zum User

Allen Mitwirkenden sage ich herzlichen Dank!

Seite 1 von 1

Vergleichbare Themen

0
Antw.
2992
Views
Java Hilfe
von L0w-RiDer » 11.03.2021 12:48 • Verfasst in Java & SAP®
14
Antw.
12044
Views
Java vs. ABAP
von Jan Dirk » 23.01.2006 15:30 • Verfasst in Java & SAP®
2
Antw.
2615
Views
JAVA Map in ABAP ?
von mnd » 11.07.2012 10:26 • Verfasst in ABAP® für Anfänger
6
Antw.
6461
Views
JCo 3.0 - Java=>Abap
von m00nk » 30.10.2008 10:22 • Verfasst in Java & SAP®
6
Antw.
2680
Views
Umsteiger JAVA-->ABAP
von babap » 12.10.2006 13:15 • 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.