Web service
sdmx-dl WS is a web service that serves as a bridge to any application or language.
This service has two endpoints:
- a gRPC endpoint which has the best performances but a limited set of clients
- a REST endpoint which has a wider range of clients but is less efficient
These endpoints also provides specifications (.proto files and OpenAPI respectively) that can be used to generate client code. They are designed to operate locally as well as on remote machines.
An uber-jar (aka fat-jar) is available on the GitHub release page and on Maven Central.
Java 17+ is required to run it.
To run it, just use the following command: java -jar sdmx-dl-grpc-VERSION-runner.jar
Custom config:
| Option | Description |
|---|---|
quarkus.grpc.server.port |
The gRPC server port |
quarkus.http.port |
The HTTP port |
More info at Quarkus all configuration options page and HTTP reference page.
The gRPC endpoint is the most efficient way to interact with the web service.
Its default port is 4557. For convenience, the reflection protocol is enabled.
Call example using gRPCurl:
grpcurl -d "{\"source\":\"ECB\"}" -plaintext localhost:4557 sdmxdl.grpc.SdmxWebManager.GetFlows
The REST endpoint has the best compatibility with a wide range of clients.
Its default port is 4559. For convenience, an OpenAPI UI is available at http://localhost:4559/q/swagger-ui.
Call example using curl:
curl -X POST -H "Content-Type: application/json" localhost:4559/sdmx-dl/flows --data "{\"source\":\"ECB\"}"