The ucl-provider is an npm package that provides the APIs necessary for exposing UCL systems, packages and services.
The UCL is working with cert and key. In BAS this is transperent to the user as it happens behind the scenes
To add this package as a dependency in your package.json file, under the "dependencies" section, add the following dependency: "@sap/ucl-provider": [Version]
Description: Provides a list of UCL systems.
Signature:
async getSystems(): Promise<UclSystemProviderSystem[]>
Input: none.
Output: A list of UCL Systems.
Description: Retrieves an instance of the UCL Service Retriever implementation of the ServiceRetriever interface.
Signature:
getServiceRetriever(): UclServiceRetrieverInterface
Input: none.
Output: An instance that implements the UclServiceRetrieverInterface.
Description: Provides a list of the UCL system's packages.
Signature:
getPackages(): Promise<UclPackageProviderSystem[]>
Input: none.
Output: A list of the UCL system's packages.
Description: Provides a list of UCL services.
Signature:
async getServices(): Promise<Service[]>
Input: none.
Output: A list of services.
Description: Provides the metadata of the UCL service.
Signature:
async getMetadata(
service: Service,
encoding: EncodingMode,
): Promise<ServiceMetadata>
Input:
service: The details of the service that you want to get the metadata for.
encoding: For metadata, you should use EncodingMode.XML.
Output: An object that contains the metadata XML string of the service.
Description: Provides live data from the UCL service.
Signature:
async getJsonLiveData(
service: Service,
destName: string,
entityName: string,
options?: Record<string, any>): Promise<ServiceCommon>
Input:
service: The details of the service that you want to get the live data for.
destName: The destination name of the live data.
entityName: The name of the entity in the service that you want the live data for.
options: Accepts the following parameters:
filter (optional): Provides query parameters to pass to the service. For example:
new Filter(new Map([[ServiceRequestKey.TopRows, "2""]]))
Output: An object that contains a JSON string with live data from the service.
1. To create a key and certificate in UCL Canary, see this wiki..
Note that the WS_BASE_URL in the lunch.json should be directed to UCL canary for the test flow to work.
2. See a sample flow of ucl-provider APIs here.