Communication Guide
This page explains how to use the APIs of the connector.
You have configured and deployed your Dataspace Connector as described here? Then check out our step-by-step guide to see the Connector in action.
To interact with the running application, the provided endpoints can be used - either automated by an application or manually by interacting with the Swagger UI. In this section, it is explained how to provide local and remote data with a connector and how to consume this from another one.
Note: The Dataspace Connector’s repository comes with a scripts/tests folder that provides some Python scripts. They contain the creation of a full data offering and its consumption by a consumer: for a single resource with a single usage policy, a single resource with multiple usage policies, and providing and requesting multiple artifacts at once. Feel free to use or modify them when setting up a data exchange example deployment.
General information on Communication
Once you have a connector running it is possible to access the self-description by navigating to the connector’s address. Assuming you’re running the connector locally:
- The connector self-description is available at https://localhost:8080/ (GET).
- The open endpoint for IDS communication is https://localhost:8080/api/ids/data (POST).
- The backend API and its endpoints (
/api/**) are only accessible to users with admin rights. When requesting the connector’s self-description, the included catalog gives information about available resources. The resource id is essential for requesting an artifact or description.
The open endpoint at /api/ids/data expects an ArtifactRequestMessage with a known artifact id as RequestedArtifact (for requesting data) or a DescriptionRequestMessage with a known element id as RequestedElement (for requesting metadata).
- If this parameter is not known to the connector, you will receive a
RejectionMessageas response. - If the
RequestedElementis missing at aDescriptionRequestMessage, you will receive the connector’s self-description.
Possible rejection messages:
RejectionMessagewithRejectionReason.VERSION_NOT_SUPPORTEDif you are not using Infomodel v4.x.x.RejectionMessagewithRejectionReason.NOT_AUTHENTICATEDif the requesting connector has no valid DAT.RejectionMessagewithRejectionReason.BAD_PARAMETERSif the request contains missing/wrong parameters.RejectionMessagewithRejectionReason.INTERNAL_RECIPIENT_ERRORif message processing failed.RejectionMessagewithRejectionReason.NOT_FOUNDif the requested element/artifact could not be found.RejectionMessagewithRejectionReason.NOT_AUTHORIZEDif a policy restriction was detected.ContractRejectionMessagewithRejectionReason.BAD_PARAMETERSif the contract request was not accepted.
More IDS
Other IDS components also have running instances that can be used for testing. The Dataspace Connector currently mainly supports communication with the IDS Broker and DAPS - as described here. A working communication with other components is not guaranteed.
The currently implemented support is explained here in more detail.