Description: When configuring the WSS of BW, when following the steps below, the error "com. Tibco. security. AXSecurityException: No keys found in keystore" can be encountered.
1). An Identity has been created.
2). A Security Policy is created.
3). A Security Policy Association is created.
4). Trusted Certificates imported.
5). Soap Request Reply - SSL configured to point to Trusted Certificates Folder.
Symptoms: The return from Soap Request Reply follows:
SoapMessage::initRequestMessage at com.tibco.bw.service.binding.soap.impl.XDataSoapHelper.initRequestMessage(XDataSoapHelper.java:173) at com.tibco.bw.soap.share.reqrep.SoapRequestor.prepareMessage(SoapRequestor.java:309) at com.tibco.bw.soap.share.reqrep.SoapRequestor.execute(SoapRequestor.java:158) at com.tibco.plugin.soap.SOAPSendReceiveActivity.eval(SOAPSendReceiveActivity.java:278) at com.tibco.pe.plugin.Activity.eval(Activity.java:241) at com.tibco.pe.core.TaskImpl.eval(TaskImpl.java:574) at com.tibco.pe.core.Job.a(Job.java:712) at com.tibco.pe.core.Job.k(Job.java:501) at com.tibco.pe.core.JobDispatcher$JobCourier.a(JobDispatcher.java:249) at com.tibco.pe.core.JobDispatcher$JobCourier.run(JobDispatcher.java:200) caused by: com.tibco.spin.soap.processors.SoapProcessingException: com.tibco.security.AXSecurityException: com.tibco.security.AXSecurityException: No keys found in keystore at com.tibco.spin.soap.security.WSS4JSecurityPolicyProcessor.a(WSS4JSecurityPolicyProcessor.java:390) at com.tibco.spin.soap.security.WSS4JSecurityPolicyProcessor.processOutboundMessage(WSS4JSecurityPolicyProcessor.java:317) at com.tibco.spin.soap.security.WSS4JSecurityPolicyProcessor.process(WSS4JSecurityPolicyProcessor.java:178) at com.tibco.spin.soap.processors.SoapPipeline.process(SoapPipeline.java:574) at com.tibco.spin.soap.processors.SoapPipeline.prepare(SoapPipeline.java:424) at com.tibco.bw.service.binding.soap.impl.XDataSoapHelper.initRequestMessage(XDataSoapHelper.java:165) at com.tibco.bw.soap.share.reqrep.SoapRequestor.prepareMessage(SoapRequestor.java:309) at com.tibco.bw.soap.share.reqrep.SoapRequestor.execute(SoapRequestor.java:158) at com.tibco.plugin.soap.SOAPSendReceiveActivity.eval(SOAPSendReceiveActivity.java:278) at com.tibco.pe.plugin.Activity.eval(Activity.java:241) at com.tibco.pe.core.TaskImpl.eval(TaskImpl.java:574) at com.tibco.pe.core.Job.a(Job.java:712) at com.tibco.pe.core.Job.k(Job.java:501) at com.tibco.pe.core.JobDispatcher$JobCourier.a(JobDispatcher.java:249) at com.tibco.pe.core.JobDispatcher$JobCourier.run(JobDispatcher.java:200)
Cause: The cause of the problem is that the keystore is not configured, it is not valid or it contains some expired certificates. This also happens when the web service does not use the keystore, but uses the username and password.
Resolution
First, open the keystore with Portecle or another third party tool and validate the keystore to see if it is incomplete or if some certificates have expired. If there are expired certificates, import new ones. If it is not complete, re-download a complete one from the service website.
Second, after adding a valid keystore, if seeing the error, "Security Data : No WS-Security Header", means the scenario for your webservice does not use the keystore, but uses some other kind of authentication. Check with your service administrator about the external service to see if it is using UserName and Password or not. If it is, set the correct Username and Password which will resolve the issue.