IBM Support

teamworks.jks: The system cannot find the file specified

Troubleshooting


Problem

This technote describes the cause of the error as well as what needs to be done to eliminate it

Cause

The error is harmless and is logged in the ae.log and tw-error.log each time new web service connector is created in the Authoring Environment. This is due to the fact that teamworks.jks keystore is referenced in <webservice-security> of 99Local.xml file, however the keystore file does not actually exist.

Diagnosing The Problem

In ae.log you see the following error:

2007-10-10 11:20:50,306 [main] ERROR com.lombardisoftware.client.ae.forms.soapconnector.model.KeyAliasModel  - Exception getting key aliases
com.lombardisoftware.client.delegate.BusinessDelegateException: teamworks.jks (The system cannot find the file specified)
at com.lombardisoftware.client.delegate.BusinessDelegateException.asBusinessDelegateException(BusinessDelegateException.java:41)
at com.lombardisoftware.client.delegate.ClientServicesDelegateDefault.getKnownKeyAliases(ClientServicesDelegateDefault.java:962)
at com.lombardisoftware.client.ae.forms.soapconnector.model.KeyAliasModel.<init>(KeyAliasModel.java:26)
at com.lombardisoftware.client.ae.forms.soapconnector.autogen.SOAPConnectorEditorViewAG.getClientCertAliasSettings(SOAPConnectorEditorViewAG.java:2060)
at com.lombardisoftware.client.ae.forms.soapconnector.autogen.SOAPConnectorEditorViewAG.initClientCertAlias(SOAPConnectorEditorViewAG.java:2030)
....

and this companion stacktrace in the logs/tw-error.log:

2007-10-10 11:20:50,260 [RMI TCP Connection(22)-10.4.1.200] ERROR com.lombardisoftware.server.ejb.clientservices.ClientServicesBean  - Exception in EJB call
com.lombardisoftware.core.TeamWorksException: teamworks.jks (The system cannot find the file specified)
at com.lombardisoftware.core.TeamWorksException.asTeamWorksException(TeamWorksException.java:127)
at com.lombardisoftware.server.ejb.clientservices.ClientServicesCore.getKnownKeyAliases(ClientServicesCore.java:2130)
at com.lombardisoftware.server.ejb.clientservices.ClientServicesBean$69.execute(ClientServicesBean.java:966)
at com.lombardisoftware.server.ejb.EjbServerUtils.handleEjbCall(EjbServerUtils.java:89)
at com.lombardisoftware.server.ejb.clientservices.ClientServicesBean.handleEjbCall(ClientServicesBean.java:66)
at com.lombardisoftware.server.ejb.clientservices.ClientServicesBean.getKnownKeyAliases(ClientServicesBean.java:964)
....

Resolving The Problem

The resolution is to create a valid teamworks.jks keystore file in process-server[center]/resources/ directory.


1. Uncomment <private-key> section in 99Local.xml

<webservice-security>
<!-- keystore file, relative to some directory that's in the classpath -->
<keystore-file>teamworks.jks</keystore-file>

<keystore-password-encrypted><![CDATA[WJ8tI9rreHs-]]></keystore-password-encrypted>
<private-key>
<alias>client</alias>
<password-encrypted><![CDATA[1qXu7IK9pro-]]></password-encrypted>
</private-key>

</webservice-security>

Decrypted <keystore-password-encrypted> password is "password", private key password is "drowssap"

2. Create appropriate keystore named teamworks.jks in /process-server[center]/resources directory. The following command can be used to create the keystore.

keytool.exe -storepass password -genkey -alias client -keypass drowssap -keystore process-server/resources/teamworks.jks

[{"Product":{"code":"SSFPRP","label":"WebSphere Lombardi Edition"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.0.1;6.2.2;6.2.1;6.2;6.1;6.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Historical Number

337

Product Synonym

TW 6.x TW 7.0.1

Document Information

Modified date:
15 June 2018

UID

swg21439770