cancel
Showing results for 
Search instead for 
Did you mean: 

SAP CAP - Service Destination MTA defined fails to deploy

Cristian
Participant
0 Kudos

Hi experts,

I have a MTA as follows for a CAP app.

 

_schema-version: '3.1'
ID: srv-services-cap
version: 1.0.0
description: "A simple CAP project."
parameters:
  enable-parallel-deployments: true
build-parameters:
  before-all:
    - builder: custom
      commands:
        - npm ci
        - npx cds build --production
modules:
  - name: srv-services-cap
    type: nodejs
    path: gen/srv
    parameters:
      buildpack: nodejs_buildpack
      readiness-health-check-type: http
      readiness-health-check-http-endpoint: /health
    build-parameters:
      builder: npm
    provides:
      - name: srv-api # required by consumers of CAP services (e.g. approuter)
        properties:
          srv-url: ${default-url}
    requires:
      - name: srv-services-cap-db
      - name: srv-services-cap-destination
      - name: srv-services-cap-auth

  - name: srv-services-cap-db-deployer
    type: hdb
    path: gen/db
    parameters:
      buildpack: nodejs_buildpack
    requires:
      - name: srv-services-cap-db

  - name: srv-services-cap-app-router
    type: approuter.nodejs
    path: app/router
    parameters:
      keep-existing-routes: true
      disk-quota: 256M
      memory: 256M
    requires:
      - name: srv-api
        group: destinations
        properties:
          name: srv-api # must be used in xs-app.json as well
          url: ~{srv-url}
          forwardAuthToken: true
      - name: srv-services-cap-auth

  - name: destination-content
    type: com.sap.application.content
    requires:
    - name: srv-services-cap-auth
      parameters:
        service-key:
          name: srv-services-cap-auth-key
    - name: srv-services-cap-destination
      parameters:
        content-target: true
    - name: srv-api
    build-parameters:
      no-source: true
    parameters:
      content:
        subaccount:
          existing_destinations_policy: update
          destinations:
          - Name: Agora-Services-CAP-HTTP
            URL: ~{srv-api/url}
            Authentication: OAuth2UserTokenExchange
            TokenServiceInstanceName: srv-services-cap-auth
            TokenServiceKeyName: srv-services-cap-auth-key
            HTML5.DynamicDestination: 'true'
            TrustAll: 'true'
            WebIDEUsage: 'odata_gen,odata_xs'
            WebIDEEnabled: 'true'


resources:

  - name: srv-services-cap-db
    type: com.sap.xs.hdi-container
    parameters:
      service: hana
      service-plan: hdi-shared

  - name: srv-services-cap-destination
    type: org.cloudfoundry.managed-service
    parameters:
      service: destination
      service-name: srv-services-cap-destination
      service-plan: lite

  - name: srv-services-cap-auth
    type: org.cloudfoundry.managed-service
    parameters:
      service: xsuaa
      service-plan: application
      path: ./xs-security.json
      config:
        xsappname: srv-services-cap-${org}-${space}
        tenant-mode: dedicated

When trying to deploy I am getting the error as follows:

Error resolving merged descriptor properties and parameters: Unable to resolve "destination-content##url"

Any idea what configuration is wrong?

Thanks!

View Entire Topic
stockbal
Participant
0 Kudos

Hi @Cristian,

you used the wrong property in the "URL" of your destination.
You have to use the property name that was specified in your CAP module

stockbal_0-1714627835244.png

So your destination should look like this:

- Name: Agora-Services-CAP-HTTP
  URL: ~{srv-api/srv-url}

Regards,
Ludwig