Dynamic setting of JDBC connection in 7.1.2

I have a JDBC health check service that uses pub.art.service:setAdapterServiceNodeConnection to modify the jdbc connection of another service. This works fine in 6.5 but I just tried to run it in 7.1.2 and receive the following error:

[ART.117.4050] Adapter Runtime (Adapter Service): Service needs to be checked out before updating

Has anyone been able to successfully use this service in 7.1.2, and if so, how did you get past the above error? At first I thought I’d do a lock & unlock in the code, but I cannot find the services to do that.

Any help would be appreciated.

We just upgraded from 6.1 to 7.1.2 and i was able to run this service successfully. I am not sure why you are getting above error. Do you have more than one IS? If so is this happening on both the nodes?

Cheers,
Akshith

We tried once manually running below mentioned ART Package related service setAdapterServiceNodeConnection, we got the same error “Service needs to be checked out before updating”.

Then we “locked for edit” for the connection element(which we are giving in the input of setAdapterServiceNodeConnection service. It worked fine.

I am running tests on a development IS prior to our migration of other environments.

Did you lock the element through Developer or through a built-in service in your code? Also, did you lock it with the same userid that you used to run the service?

Also, leaving an element locked will cause issues with Deployer, so I’d rather lock/unlock in code if possible.

Thanks.

Should be able to lock and unlock using the WmRoot services
wm.server.ns:lockNode and wm.server.ns:unlockNode

But it is not advisable to use these services as it may get changed or deleted in the new releases.

I hade the same issue but in my case, the problem was that the adapter services had been moved to another “directory” in the IS package and the internal definition list of adapter services had not been updated with the new path. So please check that the input parameter “serviceName” in setAdapterServiceNodeConnection actually points the where your adapter service is located.