[Centrasite] Add multiple REST resources in 1 Virtual REST Service

Hi,

I’m using webMethods 9.6 and I’m trying to expose REST resources (created on the IS) using Mediator.

I create a Virtual REST Service in Centrasite and in the Technical Details tab of this Virtual REST Service I add 1 ressource.

But once it’s done, I cant add resource anymore because Add button is disabled.

Is it possible to have all the resources of my API in 1 Virtual REST Service or do I have to create 1 Virtual REST Service for each resource?

I ask this because the REST Service Asset Type (not the virtual one) allow me to create multiple resources in the Technical Details tab. So it make sense (for me) that it’ll be the same for the virtual version of this REST service.

I also try to virtualize this REST Service but only one resource was visible in the newly created Virtual REST.Service

Thanks for your help.

Hi,
this is a limitation in Mediator 9.6 - it only supported one top level resource.
This has been heavily enhanced in 9.7 and 9.8 and now supports multiple resources and nested resources.
Is it possible for you to ugrade to these versions?

Daniel

Hi Daniel,

Thanks for your quick response.

We just migrate from 8.2 to 9.6. I dont think we’ll migrate to a new version soon.

There’s no patch for 9.6?

If I stay with 9.6, I have to use 1 Virtual REST Service for each resource. My problem with that is the way to have several ressources with the same root url.

First VSR name: myAPI
Ressource A URL : http://myserver:5510/ws/myAPI/myRessourceA

2nd VSR name: myAPI2
Ressource B URL : http://myserver:5510/ws/myAPI2/myRessourceB
I want this URL instead : http://myserver:5510/ws/myAPI/myRessourceB

Is it possible?

Hi,
There is no patch as this was a bigger rearchitecturing of multiple areas that happened in 9.7.

So for 9.6 and earlier if you have an API like this:
//Resource1
//Resource2

you have to use either 2 VSes (with different Names)
//Resource1
//Resource2

Or the likely better approach is the abstract the resources by introducing a pseudo resource - which could be for example a version flag: //v1. So V1 would be your resource on the virtual service. Your real resources would then not be expressed as metadata on the virtual service but would be just part of the invoked resource path.
That way both //v1/Resource1 and //v1/Resource2 would possible on the same virtual service.

Daniel

Hi Daniel,

I came to the same solution. I think about 1 ressource (the version) in CentraSite & Mediator and in my IS I have _default flow service to handle the routing to the good resources.

Thanks Daniel for your help.