Ошибка: файл не найден /home/vcap/app/xs-app.json - PullRequest
0 голосов
/ 29 апреля 2019

пытается установить approuter в настоящее время, следуя этому руководству:

https://blogs.sap.com/2017/07/18/step-7-with-sap-s4hana-cloud-sdk-secure-your-application-on-sap-cloud-platform-cloudfoundry/

При отправке approuter на CF я получаю сообщение об ошибке:

 2019-04-29T08:39:34.43+0200 [APP/PROC/WEB/0] ERR /home/vcap/app/approuter/lib/environment.js:19
   2019-04-29T08:39:34.43+0200 [APP/PROC/WEB/0] ERR       throw new Error('File not found ' + xsappFile);
   2019-04-29T08:39:34.43+0200 [APP/PROC/WEB/0] ERR       ^
   2019-04-29T08:39:34.43+0200 [APP/PROC/WEB/0] ERR Error: File not found /home/vcap/app/xs-app.json

Это мой manifest.yml:

---
applications:
- name: xyz
  command: 'node approuter/approuter.js'
  host: xyz-93deb1cd-7b72-4060-94e7-30baef85d259
  path: approuter
  memory: 128M
  buildpack: https://github.com/cloudfoundry/nodejs-buildpack
  env:
    TENANT_HOST_PATTERN: 'xyz(.*).cfapps.eu10.hana.ondemand.com'
    destinations: '[{"name":"service-destination", "url": "https://gfuowb4ett234agtuthorizations-srv.cfapps.eu10.hana.ondemand.com", "forwardAuthToken": true}]'
    SAP_JWT_TRUST_ACL: '[{"clientid" : "*", "identityzone" : "*"}]'

  services:
    - my-xsuaa
    - service-destination

Это мой xs-app.json, который находится в моей папке "approuter".

{
  "routes": [{
    "source": "/",
    "target": "/",
    "destination": "service-destination"
  }]
}

Это моя структура папок

Когда я перемещаю xs-app.json в корневую папку, где он, как ожидается, ожидается, я получаю следующее сообщение об ошибке:

xs-app.json/routes/0: Format validation failed (Route references unknown destination "service-destination")

1 Ответ

1 голос
/ 30 апреля 2019

Я полагаю, что approuter ищет привязанную службу назначения, а не переменную среды назначения.

Я заметил, что существует экземпляр службы назначения с именем 'service-destination', однако вы уже определили destination в переменной среды с тем же именем.

Любой из них должен присутствовать.

Я бы предложил либо сохранить место назначения в переменных среды, либо удалить запись из раздела обслуживания

---
applications:
- name: xyz
  command: 'node approuter/approuter.js'
  host: xyz-93deb1cd-7b72-4060-94e7-30baef85d259
  path: approuter
  memory: 128M
  buildpack: https://github.com/cloudfoundry/nodejs-buildpack
  env:
    TENANT_HOST_PATTERN: 'xyz(.*).cfapps.eu10.hana.ondemand.com'
    destinations: '[{"name":"service-destination", "url": "https://gfuowb4ett234agtuthorizations-srv.cfapps.eu10.hana.ondemand.com", "forwardAuthToken": true}]'
    SAP_JWT_TRUST_ACL: '[{"clientid" : "*", "identityzone" : "*"}]'

  # remove the service-destination from here and unbind any destination service if already bound
  services:
    - my-xsuaa

, либо не поддерживатьпеременная среды назначения - вместо этого сохраните ее в графическом интерфейсе экземпляра службы назначения (из кабины)

---
applications:
- name: xyz
  command: 'node approuter/approuter.js'
  host: xyz-93deb1cd-7b72-4060-94e7-30baef85d259
  path: approuter
  memory: 128M
  buildpack: https://github.com/cloudfoundry/nodejs-buildpack
  env:
    TENANT_HOST_PATTERN: 'xyz(.*).cfapps.eu10.hana.ondemand.com'
    SAP_JWT_TRUST_ACL: '[{"clientid" : "*", "identityzone" : "*"}]'

  services:
    - my-xsuaa
    - service-destination

enter image description here

Примечание:

  1. сохранение имени получателя и имя экземпляра назначения может привести к путанице.

  2. Вручную отсоединить службупункт назначения / назначения, если вы следуете первому подходу.удаление записи из раздела обслуживания не отменяет ее автоматически.

...