cancel
Showing results for 
Search instead for 
Did you mean: 

Deployment error after adding a reference to NSS service

EmilDinchev
Advisor
Advisor
0 Kudos

Hi all,

I’m working on a node.js project that creates a MTA archive with 2 HTML5 applications. These apps should use managed app-router and should be configured for start in Launchpad Service. They must consume the SAP NSS (Network Spatial Service), so that the UI controls in the browser can have access to the service API. The service is running in the Cloud Foundry landscape where the MTA archive should be deployed.

The attached mta-copyyaml.txt works correctly. The commented blocks between lines 20-26, 31-36, 124- 133 should add the dependency to the NSS service( see the screenshot):

The change in lines 41, 42 just reorder the properties and is not important.

When these blocks are commented, everything is working fine.

Now I want to add the dependency to the NSS service, and I uncommented the blocks. Also I have adapted the xs-app.json files for both applications (the content for now is not in the scope).

The build was working fine, but during the deployment I received the following error:

> cf deploy mta_archives/catenax.nss.mta_0.0.1.mtar

Deploying multi-target app archive mta_archives/catenax.nss.mta_0.0.1.mtar in org ...

Uploading 1 files...

/workspaces/NodeJS/catenax-nss/mta_archives/catenax.nss.mta_0.0.1.mtar

OK

Operation ID: a271b703-75e3-11ec-8839-eeee0a98d476

Deploying in org … and space …

Detected MTA schema version: "3"

Detected deployed MTA with namespace "null", ID "catenax.nss.mta" and version "0.0.1"

Detected new MTA version: "0.0.1"

Deployed MTA version: "0.0.1"

Processing service "catenax-nss-nss-service"...

Creating service "catenax-nss-nss-service" from MTA resource "nss_svc_catenax-nss"...

Processing service "catenax-nss-xsuaa-service"...

Processing service "catenax-nss-destination-service"...

Processing service "catenax-nss-html5-app-host-service"...

Setting service "catenax-nss-xsuaa-service" parameters from "xs-security.json"

Updating service "catenax-nss-xsuaa-service"...

Updating service "catenax-nss-destination-service"...

1 of 1 done

1 of 1 done

1 of 1 done

Service key "catenax-nss_html_repo_host-key" for service "catenax-nss-html5-app-host-service" already exists

Service key "uaa_catenax-nss-key" for service "catenax-nss-xsuaa-service" already exists

Creating service key "nss_svc_catenax-nss-key" for service "catenax-nss-nss-service"...

Service key "catenax-nss-destination-content-catenax-nss-destination-service-credentials" for service "catenax-nss-destination-service" already exists

Deploying content module "catenax-nss-destination-content" in target service "catenax-nss-destination-service"...

[catenax-nss-destination-content] [ERROR] Property [sap.cloud.service] is not editable

Content deployment for module "catenax-nss-destination-content" to resource "catenax-nss-destination-service" failed: Content deployment for module "catenax-nss-destination-content" failed due to invalid content. Download the logs "catenax-nss-destination-content_catenax-nss-destination-service" via the dmol command and check them for more information.

Process failed.

The error is reproducible.

Can you please help me to find what is wrong in my descriptor?

Best regards,

Emil

EmilDinchev
Advisor
Advisor
0 Kudos

Actually, the removing of line 35 solved the deployment error, but I don't know how exactly this happens. Are the parameters in the destinations section service specific? Why for uaa and html_repo services the parameter "sap.cloud.service" is required, but for NSS service - not?

Accepted Solutions (0)

Answers (1)

Answers (1)

Hi Emil,

Yes, the sap.cloud.service value can be overwritten only in XSUAA, IAS and HTML5-Apps-Repo destinations.

The reason is that these destinations are used internally by SAP Managed Approuter to orchestrate the login flow and fetch the HTML5 Applications from HTML5-Repo. They are fetched by using the sap.cloud.service and destination instance id provided in the runtime url.

Destinations pointing to other business services that provide data for the UI (like destinations pointing to backend applications), changing the sap.cloud.service provided by the service key value is not allowed.

You can also create a destination that points to a business service that provides UI (like a re-use library). In such case the consumer UI should include the re-use service sap.cloud.service when consuming it.

Best Regards

Sergio