Help automating JDBC Adapter password change

Hi there,
This is my second post, unfortunately the issue didnt get resolved…
so im posting again…hoping all you gurus will help me get outta this puzzle…
I would like to know where exactly the JDBC adapter’s password is saved?
or should i ask what file…we are usin 6.1. and what exact service in webmethods does with that?
All your responses/assistance would be monumentally appreciated

I’m not sure exactly what the nature of your problem is, but I’ll tackle the two possibilities that come to mind, JDBC Pooling and JDBC adapter connections.

JDBC pooling connects the Integration Server to the database. This is not required for out of the box basic functionality. To set up JDBC pooling, I usually create a schema or database in Oracle or SQL 2000 that I call wmsupport. I then create a user that has read/write/execute permissions for the new schema. This is probably where you have the problem, is that you did not configure the new db user with the correct permissions.

If you are having trouble other than user problems, then check the URL. webMethods has a funky way of creating the URL:

jdbc:wm:oracle://ipaddress:port;databaseName=wmsupport

Notice the “wm” in the URL.

For the JDBC adapter connection setting, you need to use the vendor specific URL.

You need to make sure that the database user has the permissions necessary to invoke the type of functionality. For example, if your user can only select, do not expect to insert or update records.

There’s not much more than this. If you are running Oracle, be sure that the TNS Listener is up and running.

Once you have properly configured the connection, then it should work.

As to your specific question, look in the directory ./config/jdbc/pool and you will notice a file named after your pool (like wmsupport.xml).

The password is sha-1 encrypted. Good luck trying to hack.

Mr. Moser,
Thanks for responding,
Im sorry i wasnt really clear in stating my issue.
What is really would like to do is create an interface and the its sole purpose would be is to change password to the “JDBC Adapter Connection”.
For that i need the current password, which, i cant locate( i do know that the password is encrypted).
Secondly the service that webMethods uses to perform.(Yes the internal service!)
Thanks.
I really appreciate your responses.
Viking !

webMethods doesn’t have an internal interface to my knowledge that permits you to change a user password in a database. This isn’t to say that you couldn’t run PL/SQL code in a dynamic SQL statement to do just that.

You don’t need the user’s password to change it, just the sysadmin password.

Otherwise, you can use the oracle SQL Plus command line tool to do the same thing. If you are using SQL 2000, then logon to Enterprise and change it there.

I think the need may be to automate the update of the password on one or more adapter connections once the password has been changed in the database resource.

Perhaps there’s something in the WmART package to help with this.

Mark

Thanks Carlson,
Thats one of the major reasons why we would like to develop an interface like that…
I would definetely go check the WmART Package out…

Any more inputs from you WmKings ( and WmQueens ofcourse) would be monumentally appreciated…
Viking !
PS: Rob Eamon…forgive me…i forgot to put ur name in the title !

Viking,

Sorry i dont have any answer for your query,but checking in WmART services would help you in debugging.

HTH,
RMG

ART can control connection resources. Unfortunately the connection resource is a serialized object binary base64 encoded inside the resource’s node file. Nice new adapters like the new EJB adapter point to a plain text configuration file from this binary, but the JDBC Adapter is not that nice. The services you will need to use to control the connection are as follows:
wm.art.admin.connection:getResourceConfiguration
wm.art.admin.connection:deleteResource
wm.art.admin.connection:createResource
wm.art.admin.connection:setResourceState

The tricky part is finding out what variables to use when creating a resource for a particular adapter.
In addition to the ones listed, you will need:
.CMGRPROP.startupBackoffSecs
.CMGRPROP.startupRetryCount
.CPROP.networkProtocol
.CPROP.otherProperties
.CPROP.portNumber
.CPROP.databaseName
.CPROP.password
.CPROP.user
.CPROP.serverName
.CPROP.datasourceClass
.CMGRPROP.blockingTimeout
.CPROP.transactionType

I found it easiest to delete the old resource if it exists and then to create a new one. You must set its state to enabled as a final step.

-Peter

Gentleman,
thank you very much for taking time out and trying to help me figure this out.
I really appreciate you help…
I GOT IT…It works !!!
thank u
thank u
thank u
thank u

Hi scoobydoo,
Can you please help me how you figured this out. That helps me a lot.

Regards,
Datta

I’m interested in this too. I’ve had a play around. I’m not sure how to add the additional variables to the wm.art.admin.connection:createResource call,

I’ve tried adding the variables to the pipeline. Adding them to the call.

The error that I’m getting is:
[ART.118.5005] Adapter Runtime (Connection): Unable to configure connection properties. Error occurred while processing connection properties.
[ART.118.5000] Adapter Runtime (Connection): Unable to retrieve and process connection properties from pipeline.

Any help in pointing me in the right direction will be appreciated.

I’m on webMethods 8.2.

Thank you,

Holger

Nevermind - wrong service.
Use wm.art.dev.connection:fetchConnectionMetadata, wm.art.dev.connection:fetchConnectionManagerMetadata to retrieve the template for connectionManagerSettings and connectionSettings.
ie, String variable under connectionSettings document
Name = transactionType
Value = LOCAL_TRANSACTION
and repeat for all settings.
eg.

connectionSettings

  • transactionType=LOCAL_TRANSACTION
  • datasourceClass = …
    etc

connectionManagerSettings

  • poolable = …
  • minumumPoolSize = …

etc

Then use the service wm.art.dev.connection:createConnectionNode to create, or in my case wm.art.dev.connection:updateConnectionNode to update the setting.

Hi,

please be very careful when using these services as they are only intended for design time usage / internal purposes and are subjected to change without notice if SAG considers this as neccessary.

The passwords are stored inside common config files and the connection nodes only contain a handle to these stores.

Regads,
Holger