Hi team,
i am getting below error while trying to login with splunk using java sdk.
Caused by: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
Suppressed: java.net.SocketException: Broken pipe (Write failed)
Can you please try this? It is working for me.
import com.splunk.*;
public class App {
public static void main(String[] args) throws Exception {
HttpService.setSslSecurityProtocol(SSLSecurityProtocol.TLSv1_2);
// Create a map of arguments and add login parameters
ServiceArgs loginArgs = new ServiceArgs();
loginArgs.setUsername("admin");
loginArgs.setPassword("admin123");
loginArgs.setHost("localhost");
loginArgs.setPort(8089);
// Create a Service instance and log in with the argument map
Service service = Service.connect(loginArgs);
for (User user : service.getUsers().values())
System.out.println(user.getName());
}
}
Thanks
KV
▄︻̷̿┻̿═━一
If any of my reply helps you to solve the problem Or gain knowledge, an upvote would be appreciated.
You can try and set a different SSL protocol, the default protocol in Java is not suitable for connection with Splunk:
HttpService.setSslSecurityProtocol(SSLSecurityProtocol.TLSv1_2);
Edit:
Example code - just add the line somewhere that Java will execute it first before Service connection:
HttpService.setSslSecurityProtocol(SSLSecurityProtocol.TLSv1_2);
ServiceArgs loginArgs = new ServiceArgs();
loginArgs.setUsername(user);
loginArgs.setPassword(password);
loginArgs.setHost(host);
loginArgs.setPort(port);
In your case it seems that the connection has been closed by the server end of the connection. This could be an issue with the request you are sending or an issue at their end.
Can you please share you sample code to reproduce the same issue?
KV
ServiceArgs loginArgs = new ServiceArgs();
loginArgs.setUsername("uname");
loginArgs.setPassword("xx");
loginArgs.setHost("myhost");
loginArgs.setPort(8089);
// Create a Service instance and log in with the argument map
Service service = Service.connect(serviceArgs);
for (User user : service.getUsers().values())
System.out.println(user.getName());
Can you please try this? It is working for me.
import com.splunk.*;
public class App {
public static void main(String[] args) throws Exception {
HttpService.setSslSecurityProtocol(SSLSecurityProtocol.TLSv1_2);
// Create a map of arguments and add login parameters
ServiceArgs loginArgs = new ServiceArgs();
loginArgs.setUsername("admin");
loginArgs.setPassword("admin123");
loginArgs.setHost("localhost");
loginArgs.setPort(8089);
// Create a Service instance and log in with the argument map
Service service = Service.connect(loginArgs);
for (User user : service.getUsers().values())
System.out.println(user.getName());
}
}
Thanks
KV
▄︻̷̿┻̿═━一
If any of my reply helps you to solve the problem Or gain knowledge, an upvote would be appreciated.