8 Stimmen

Verrückte Idee: Verbindung von .NET und SAP mit SAP JCo über IKVM.NET

Weil die SAP-Konnektor für .NET wird nicht mehr von SAP gewartet. Ich suche nun nach einer Alternative, um die Microsoft-Welt mit der SAP-Welt zu verbinden. Ich weiß, dass es Produkte von Drittanbietern wie "ERPConnect" gibt, aber ich möchte dies mit Werkzeugen von SAP tun (übrigens kann ich die Dienstleistungen für Unternehmen weil das Zielsystem SAP ist SAP 4.6C ). Daher entstand die verrückte Idee, die SAP-Java-Konnektor in Kombination mit dem Tool IKVM.NET (www.ikvm.net/devguide/net2java.html). IKVM.NET bietet die IKVMC Tool, das Java-Bytecode in .NET-DLLs und -Exe konvertiert. "Gesagt, getan!" Ich konvertierte die SAP JCo in .NET dlls und erstellte eine neue Visual Studio Lösung. Ich legte alle JCO-Dateien in einem Unterverzeichnis meiner Lösung ab. Ich setzte 2 Verweise auf die generierte IKVM.OpenJDK.Core.dll und sapjco.dll. Großartig, alle JCO-Klassen waren nun als .NET-Klassen verfügbar. Voller Optimismus schrieb ich einen kleinen Code, um eine Verbindung zu einem SAP-System herzustellen.

JCO.Client client = null; client = JCO.createClient(...)

Die Kompilierung meines Testcodes ergab keine Fehler. "Wunderbar!" dachte ich. Dann startete ich meine Tetstapplikation. Leider bekam ich eine Exception beim Aufruf von JCO.createClient:

Middleware-Schicht 'com.sap.mw.jco.rfc.MiddlewareRFC' konnte nicht geladen werden \r\nno sapjcorfc in java.library.path

Ich habe 2 Fragen zu diesem Thema.

1) Halten Sie meine Idee, den SAP Java Connector (SAP JCo) zu verwenden, um .NET mit SAP zu verbinden, für eine gute Idee oder ist sie Blödsinn? Vielleicht hatte schon jemand die gleiche Idee ;-)

2) Wie kann die obige Ausnahme gelöst werden?

1 Stimmen

Soweit ich weiß, verwendet JCO eine native Bibliothek für die Verbindung zu sap, unter Linux heißt diese Datei libsapjcorfc.so, unter Windows wahrscheinlich libsapjcorfc.dll. Vielleicht muss diese Bibliothek nur über die Umgebungsvariable PATH erreichbar sein?

2 Stimmen

Gute Nachrichten: SAP plant eine neue Version des SAP.NET Connectors zu veröffentlichen --> wiki.sdn.sap.com/wiki/display/ABAPConn/ABAP+Connectivity+Home

4voto

Igal Serban Punkte 10330

1) Ich glaube nicht, dass dieser Ansatz eine gute Idee ist. Die eigentliche Verbindung zu SAP wird nicht von Java aus hergestellt (oder von .net im alten .net Connector). Sondern von einer c dll namens librfc32.dll. Ich glaube, dass die IKVM-Unterstützung von JNI nicht vollständig ist.

Es wird vielleicht funktionieren, aber selbst dann wird es fragil sein.

0 Stimmen

Ich stimme zu, es wäre sinnvoller, Ihre Zeit damit zu verbringen, einen verwalteten Wrapper um librfc32.dll zu schreiben

1voto

uhu Punkte 1612

Ich würde diesen Weg nicht empfehlen! Sie sollten den direkten Weg wählen. Zum Beispiel können Sie das SAP RFC SDK verwenden.

1voto

Darbio Punkte 11073

SAP .Net Connector 3 freigegeben wird. Ich benutze es jeden Tag bei der Arbeit...

0voto

franblay Punkte 306

Ich denke, Sie sollten einen Blick auf Web Services werfen, das ist einfacher und flexibler.

Saludos

0voto

Horcrux7 Punkte 22751

Dies klingt nach einem Classloader-Problem von IKVM. Werfen Sie einen Blick in die Beschreibung im Wiki .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X