A thin HTTP server that accepts SAP ABAP Development Tools (ADT) HTTP endpoint requests and forwards them to the corresponding ADT RFC function modules via the SAP Java Connector (JCo).
ADT clients (Eclipse, ABAP Development Tools) speak HTTP to the ABAP application server. Some integration scenarios — sandboxed environments, legacy systems without the HTTP whitelist enabled, or test harnesses — only have RFC access. This tunnel bridges that gap.
- Java 21 or newer (JDK, not JRE)
- Maven 3.9+
- SAP Java Connector (JCo) 3.1.x — must be downloaded from the SAP Support Portal; not redistributable. See Installing SAP JCo.
SAP JCo is not available on Maven Central. Download the archive matching your platform from the SAP Support Portal, extract it, and install the JAR into your local Maven repository:
mvn install:install-file \
-Dfile=sapjco3.jar\
-DgroupId=com.sap.conn \
-DartifactId=jco \
-Dversion=3.1.13 \
-Dpackaging=jarThe native library (libsapjco3.so / sapjco3.dll / libsapjco3.dylib) must
be on java.library.path at runtime, e.g. by exporting LD_LIBRARY_PATH on
Linux.
mvn clean verifyThe shaded runnable JAR is produced at
target/adt-http2rfc-tunnel-<version>.jar.
export SAP_ASHOST=...
export SAP_SYSNR=...
export SAP_CLIENT=...
export SAP_USER=...
export SAP_PASSWD=...
HTTP2RFC_PORT=8080 java -cp "sapjco3.jar:target/adt-http2rfc-tunnel-0.1.0-SNAPSHOT.jar" io.github.jfilak.adt.http2rfc.ApplicationVerify the server is up:
curl http://localhost:8080/health
# {"status":"UP"}| Variable | Default | Description |
|---|---|---|
HTTP2RFC_PORT |
8080 |
TCP port the HTTP server listens on. |
SAP connection parameters are read by JCo from a standard destination file or
provided via a DestinationDataProvider. See SAP JCo documentation for
details.
.
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/io/github/jfilak/adt/http2rfc/
│ │ └── resources/
│ └── test/
│ ├── java/io/github/jfilak/adt/http2rfc/
│ └── resources/
└── .github/
├── workflows/ # CI and CodeQL
├── ISSUE_TEMPLATE/
└── dependabot.yml
Contributions are welcome. See CONTRIBUTING.md and the Code of Conduct.
Licensed under the Apache License, Version 2.0.