Это моя команда curl с отправленным запросом и ответом json.
curl --verbose \
> -X POST \
> -H "Content-Type: application/json" \
> -H "ABC-Reply-Wait-Time-In-ms: 30000" \
> --data '{"mobileNo":"xxxxxxxxxx","message":"Your One-Time Password code is {OTP} (OTP Ref = {REF}) {SMSTIME}"}' \
> --basic --user username:Password \ {URL}
* Server auth using Basic with user 'username'
> POST /TOPIC/abc_PT_GTY/otpRequestQ HTTP/1.1
> Authorization: Basic zxfsvdcbchdbdbcbc==
> User-Agent: curl/2.90.0
> Host: abcd:9999
> Accept: */*
> Content-Type: application/json
> ABC-Reply-Wait-Time-In-ms: 30000
> Content-Length: 102
>
* upload completely sent off: 102 out of 102 bytes
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Content-Length: 57
< Content-Type: application/json
< Server: abc/3.9.0.28
< Set-Cookie: qasw=wertyuie492ef90d3; Path=/
< ABC-Client-Name: #rest/client/10.201.93.21/67542/wertyuie492ef90d3
< ABC-Message-ID: ID:10.128.196.7865b7765f3a1d2gb0:25
< ABC-Timestamp: 12345678987654
< ABC-User-Property-breadcrumbId: topic_abc_PT_GTY_otpRequestQ_null
< ABC-User-Property-CamelJmsDeliveryMode: 2; type=int32
<
* Connection #0 to host abcd left intact
{"status":"success","message":"OTP Sent","otpRef":"QAKQ"}[abcdev@bdslideltsop005 usr]$
Для остальных используется метод
private StringBuilder getServiceResponse(String request, HttpURLConnection con)
throws IOException, UnsupportedEncodingException {
OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
wr.write(request);
wr.flush();
StringBuilder sb = new StringBuilder();
int HttpResult = con.getResponseCode();
if (HttpResult == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
logger.info("response from generate.otp.service: " + sb.toString());
System.out.println("" + sb.toString());
} else {
logger.info("response from generate.otp.service: " + sb.toString());
sb.append(con.getResponseMessage());
}
return sb;
}
private HttpURLConnection createConnection(String url) throws MalformedURLException, IOException, ProtocolException {
URL object = new URL(url);
HttpURLConnection con = (HttpURLConnection) object.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Authorization", "basic"+ encoding);
con.setRequestMethod("POST");
return con;
}
Это служба SMS, при использовании команды curl, получение правильногоответ, как показано выше, но при использовании вызова службы REST из кода, не получающего ответ Json, даже при получении смс на мобильный телефон ...
Помогите разобраться ... Заранее спасибо !!!!