Hi Team,
I have followed the steps present in https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl to initiate Mutual TLS.
I am using JKS as Keystore which contains private key, client certificate and VDP CA root certificate. I have used Soap UI as well as Java Program to access API but getting the same response. I have verified the username/password for the project and the credentials are correct. Could you please look into this and provide resolution?
Raw Request -
GET https://sandbox.api.visa.com/vdp/helloworld HTTP/1.1
Accept-Encoding: gzip,deflate
Authorization: Basic WTdINkVOS0Y3NzBHQTlFV0ZETDcyMUJYOV9CUXVoS0VZbUJ6QktXSVRZZVJrbnpfczp3a1VoM0xPSHJNOUFQSUU1QnNTNnFjVjAwcG1EaWRo
Host: sandbox.api.visa.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Raw Response -
HTTP/1.1 400
Server: nginx
Date: Mon, 24 Aug 2020 16:00:13 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 130
Connection: keep-alive
X-SERVED-BY: l55c013
X-CORRELATION-ID: 1598284813_266_101309208_l55c013_VDP_WS
x-vdp-normalized-url: /vdp/helloworld
X-APP-STATUS: 400
x-vdp-authn-api-visa-id: HELLOWORLD
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=2592000;includeSubdomains
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: -1
{"responseStatus":{"status":400,"code":"9124","severity":"ERROR","message":"Expected input credential was not present","info":""}}
Anyone
Hey @myimagesp,
I'm happy to help you resolve the issue. Error 400 - 9124 Expected input credential was not present typically happens when the credentials used are invalid. Can you please let us know if you're using valid credentials?
Here's the instructions for Two-Way SSL mutual authentication: https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl
Here's the instructions when using SOAP UI:
In SOAPUI check File->Settings->SSL Settings and make sure the KeyStore and KeyStore Password are populated in Soap UI.
Check SSL Info Tab in SOAP UI Response and verify you have a Local Certificate 1, Local Certificate 2 followed by Peer Certificate 1 and Peer Certificate 2.
Additionally, if you're using SOAP UI, make sure to select "Authenticate pre-emptively" under "Auth (Basic)" tab. Also, double check in the request raw tab that the "Authentication Basic" is present.
Check request header and make sure Authorization: Basic has been populated with the base64 encoded username and password:
Please follow the Two-Way SSL (Mutual Authentication) guide: https://developer.visa.com/vdpguide#twoway_ssl_mutual_authentication
If the issue persists, please send the response request of the error received, screenshot and the Correlation ID.
Below are the steps to get the Correlation ID using a Google Chrome browser.
1>Open Chrome menu.
2>Click on More tools then Developer tools.
3>Check the box to Preserve Log for the Network Tab.
4>Then try to click on the add API link.
5>You can find the Correlation ID in the network log for add API call.
Hi Diana,
Thanks for the response. Without any modification in my code or configuration, the connectivity started working.
Today again I created a separate project and repeated the same steps and I am getting the same error. I just wanted to know, if VISA requires any specific time to trust the certs.
I am asking this question as without modifying anything from my end the connectivity of a project which was created 2 days before started working. But when I tried the same steps for a project created today, didn't work.
Hey @myimagesp,
If possible, can you please try testing with VDP Playground to see if that resolves the issue?
You can use Postman , SOAP UI or VDP Playground tool to test the APIs. Please see user guides below for respective tools.
VDP Playground – https://community.developer.visa.com/t5/Developer-Tools/How-to-test-and-troubleshoot-APIs-with-the-V...
Postman – https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl#testing_twoway_ssl_connectivity_...
SOAP UI – https://developer.visa.com/pages/working-with-visa-apis/two-way-ssl#testing_twoway_ssl_connectivity_...
After testing with VDP Playground, if the error persists please provide the following information:
1. Endpoint
2. Request Header
3. Request Body
4. Response Header (include the x-correlation-id)
5. Response Body
Using SoapUI, you can find the x-correlation-id in the Raw Tab of the response header.
Please let us know if you have other questions and someone will be happy to help.