ile başarısız İstek: -Https ben gibi aşağıda görünen bir bukle isteğim var kıvrılma ile çalışan ancak HttpsURLConnection
curl -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d '{"Request": {"Orders":[{"id_sales_order": 160407400833822,"address_billing": {"first_name":"John","last_name": "Doe","phone": "1234567","phone2": "1234","address1": "Sesamestreet 123","city": "Berlin","postcode": "12345","country": "Germany"}}]}}' "https://debraj:[email protected]/oms-api/?Action=UpdateOrderInformation&ServiceName=OMS&Signature=e436d6c7c930fa37a30a8b67051cb4531dad92b0c904a5a009bb4529a762dcd7&Timestamp=2016-04-09T19%3A14%3A12%2B0530&Version=1.0"
Bu veriyor çıkışı: -
{"ErrorResponse":{"Head":{"RequestAction":"UpdateOrderInformation","ErrorType":"Sender","ErrorCode":0,"ErrorMessage":"Some elements were not processed"},"Body":{"UpdateOrderInformation":[{"ErrorCode":null,"ErrorMessage":"Order with source id: 160407400833822 was not found","Position":0}]}}}
Ben Java Bunu uygulamak için Aşağıdaki java kodu. Ama java kodu beklendiği gibi davranmıyor. Bazıları neyi yanlış yaptığımı bilmeme izin verebilir mi?
{"ErrorResponse":{"Head":{"RequestAction":"","ErrorType":"Sender","ErrorCode":"9","ErrorMessage":"E009: Access Denied"},"Body":""}}
Sunucu kodu veya sunucu yapılandırmasına erişemez -: java kodu oysa
public class CurlMain {
public static void main(String[] args) throws Exception {
String url = "https://example.com/oms-api/";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("POST");
String authStr = String.format("%s:%s", "debraj", "debrajmanna");
String body = "{'Request': {'Orders':[{'id_sales_order': 160407400833822,'address_billing': {'first_name':'John','last_name': 'Doe','phone': '1234567','phone2': '1234','address1': 'Sesamestreet 123','city': 'Berlin','postcode': '12345','country': 'Germany'}}]}}";
String encodedAuthStr = Base64.getEncoder().encodeToString(authStr.getBytes(StandardCharsets.UTF_8));
con.setRequestProperty("Authorization", "Basic " + encodedAuthStr);
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
String urlParameters = "Action=UpdateOrderInformation&ServiceName=OMS&Signature=e436d6c7c930fa37a30a8b67051cb4531dad92b0c904a5a009bb4529a762dcd7&Timestamp=2016-04-09T19%3A14%3A12%2B0530&Version=1.0";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.writeBytes(body);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
HttpsURLConnection.setFollowRedirects(true);
Map<String, List<String>> headers = con.getHeaderFields();
System.out.println(headers.toString());
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Curl Response " + response.toString());
}
yazdırıyor. Amacım, java koduyla aynı bukle talebini göndermek ve aynı cevabı almaktır.
Ben
Bir şey eksik java 8. kullanıyorum?
"beklendiği gibi kod davranmak değildir" ??? lütfen beklediğiniz şeyi açıklayın ve olsun. – ben75
Soruyu güncelledim. Umarım bu sefer açık olurum. – tuk
Belki bir şey eksik, ama bir DataOutputStream içinde con.getOutputStream() sarmak için herhangi bir neden var mı? – ben75