I'm doing Java Splunk REST API to insert new events via the REST API.
I used the Java's splunk service api to add headers and put in the path for the
receiver end point
Map<string, object=""> args = new HashMap<string, object="">();
args.put("Authorization", "Basic YWRtaW46cGFzcw==");
args.put("x-splunk-input-mode", "streaming");
String path = "https://localhost:8089/services/receivers/stream?data="+data+"&host="+host+"&index="+index+"&source="+source+"&sourcetype="+sourcetype;
authService.post(path,args);
A HTTP 404 error
was thrown when i run the code. The receiver wasn't present. Probably due to the HttpHeaders.
Yes!! Absolutely
Not sure sure if this is useful but if you look at index.java in the Java SDK, at the end it provides a way to upload data to a named index.
The Java SDK introduces a Receivers class in the SDK refresh due at beginning of June. It shows how to submit events very easily.
Is it really the authService object you should be sending this request via?
I changed and i tried this :
RequestMessage reqMsg = new RequestMessage();
reqMsg.setMethod("POST"); reqMsg.getHeader().put("Authorization" , authService.getToken());
reqMsg.getHeader().put("x-splunk-input-mode", "streaming");
String path = "https://localhost:8089/services/receivers/stream?data="+data+"?host="+host+"&index="+index+"&source=...;
authService.send(path,reqMsg);