Java Requests with json data [duplicate] - java

This question already has answers here:
HTTP POST using JSON in Java
(12 answers)
Closed 1 year ago.
I want to make an HTTP request with Java,
but I'm new to Java and have no clue how.
I've had a look at a few tutorials,
but I was unable to understand anything.
I want to send JSON data and also receive JSON data.
In Python it would look like this:
response = json.load(urllib.request.urlopen(urllib.request.Request('http://localhost:8765', requestJson)))
Any help would be much appreciated.

Use the below link for reference
https://www.baeldung.com/java-http-request
You can use rest template also if you're using external library.
ResponseEntity<> response = restTemplate.exchange(
UriComponentsBuilder.fromHttpUrl(baseurl + "jobs").toString(),
HttpMethod.POST,
new HttpEntity<>(body,headers),
<someClass>.class);

Related

Servlet get full path of request with parameters [duplicate]

This question already has answers here:
HttpServletRequest to complete URL
(12 answers)
Closed 9 months ago.
I'm using a Servlet accessible via POST request, but I've seen that parameters in POST, can be set either thanks to header parameters but also in a GET format way (/MyServlet?param1=123&param2=456) and I would need to detect it on my Servlet.
I tried to retrieve the request by using
request.getRequestURI()
but I cannot see the parameters in that case...
Do you know how can I retrieve the full path of the request in a GET parameter way ?
getParameter() returns http request parameters. Those passed from the client to the server. For example http://example.com/servlet?parameter=1. Can only return String.

Request send on test PSE for *New Order Single (D) * [duplicate]

This question already has an answer here:
FIXT1.1 ERROR_MISSING_EXECUTINGTRADER PartyRole
(1 answer)
Closed 3 years ago.
How can you send the new order single request on test PSE.
I made my request according to FIX official documents but still, error is coming-
Request-
8=FIXT.1.19=15335=D34=349=13552=20191226-04:40:18.78856=PSE11=157733521842938=10040=144=9.8154=155=2GO59=060=20191226-12:40:18.772447=D448=0452=36453=010=062
Response-
8=FIXT.1.19=21335=834=349=PSE52=20191226-04:40:18.86056=13511=157733521842914=017=TE536337=NONE38=10039=840=144=9.8154=155=2GO58=ERROR.MISSING_EXECUTINGTRADER
PartyRole60=20191226-04:40:18.856103=99150=8151=010=209
Please help and suggest me how can I send my request on test PSE and get a proper response.
Your issue is not a generic FIX protocol issue, but a logical error that stems from you not following your counterparty's proper procedure.
Do you see this field? 58=ERROR.MISSING_EXECUTINGTRADER
You have sent them New Order Single message that is clearly missing information that they want.
You need to get ahold of your counterparty's documentation for this FIX interface and read it thoroughly.

Why when I use HttpURLConnection to post it requires to have both OutputSteam and InputStream in order to make the post request? [duplicate]

This question already has answers here:
Why do you have to call URLConnection#getInputStream to be able to write out to URLConnection#getOutputStream?
(6 answers)
Closed 7 years ago.
So, I am kinda new to android development and Yesterday I had a problem.
My problem was that when I was trying to post something to a servlet using standard OutputStream only, and it was not making the request then I put InputSteam with my HttpURLConection then the request went through.
The OutputStream is what you (as the client) are going to write your HTTP POST data to. The InputStream, in this case, will be the response from the server. Presumably, the server doesn't commit the transaction until the response completes.

Ajax: Sending multiple parameters in HTTP POSTrequest [duplicate]

This question already has answers here:
How to send simple http post request with post parameters in java
(5 answers)
Closed 7 years ago.
How to send multiple parametrs in HTTP POST request?
I am sending POST request through Ajax call to servlet
I tried below two ways but neither worked
Approach 1:
httpRequest.open("POST", "http://localhost/Servlet/ps" , true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
.
.
.
httpRequest.send("msg="+data & "TC="+TC);
At Servlet:
String data = req.getParameter("msg"); // this prints value fine
String TestCaseNo = req.getParameter("TC"); // this prints null
Approach 2:
httpRequest.open("POST", "http://localhost/Servlet/ps" , true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
.
.
.
httpRequest.send("msg="+data + "TC="+TC);
ANSWER:This is how it worked for me
var value="msg="+data+"&TC="+TC;
http-Request.send(value);
I'm unfamiliar with AJAX but this seems more like a setup for GET request httpRequest.send("msg="+data & "TC="+TC).
Try writing parameters to your connection output stream and then in doPost method get it from req.getInputStream(). This will definitely work, but idk if it's exactly what your asking for.

Send Http Post Message using a stream in Java [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to use java.net.URLConnection to fire and handle HTTP requests?
I have to send an http post message to a server.
This message must have an header and a body and to send it i must use a Stream.
Both the header and the body must be an array of Byte.
How can I do this?
Thank you
From the server you can get header information separately from HttpServletRequest.getHeaders(). Data should be read in the form of parts (multipart/form-data) using input stream that can be opened from Request object. Hope this help.
Ref:
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html
http://www.jguru.com/faq/view.jsp?EID=1045507

Categories

Resources