Метод Post в RestAssured выдает java.net.ConnectException

Я пытаюсь отправить JSON в службу Rest, используя RestAssured, и выдает ошибку java.net.ConnectException.
Поскольку мое сообщение JSON сложное, я сделал его доступным в текстовом файле.

public class PPJson {

    public static void main(String[] args) throws IOException, JSONException {

        BufferedReader tempreader = new BufferedReader(new FileReader("/Users/RestService/Jsonfileinput.txt"));
        StringBuilder sbuilder = new StringBuilder();
        String line = tempreader.readLine();

            while (line != null) {
                sbuilder.append(line);
                line = tempreader.readLine();
            }
            tempreader.close();

        //Initializing Rest API's URL 
        String APIUrl = "http://api.sample.com/api/v3/parcel/collect?apiKey={Value}"; 

        //Initializing payload or API body 
        String APIBody = sbuilder.toString();

        // Building request using requestSpecBuilder 
        RequestSpecBuilder builder = new RequestSpecBuilder().setBody(APIBody).setContentType("application/json; charset=UTF-8"); 

        RequestSpecification requestSpec = builder.build(); 

        //Making post request with authentication 
        Response response = given().authentication().preemptive().basic("","").spec(requestSpec).when().post(APIUrl);

        JSONObject JSONResponseBody = new JSONObject(response.body().asString()); 

        //Fetching the desired value of a parameter 
        String result = JSONResponseBody.getString("status");

        System.out.println(result);

        }

    }

person Sathish Rkrish    schedule 17.04.2015    source источник
comment
Вы дважды проверили правильность своего APIUrl и пытаетесь ли вы подключиться к правильному порту? Из документации docs.oracle.com/javase/7. /docs/api/java/net/: ConnectException: Сигнализирует об ошибке при попытке подключения сокета к удаленному адресу и порту. Как правило, соединение было отклонено удаленно (например, ни один процесс не прослушивает удаленный адрес/порт).   -  person spg    schedule 17.04.2015
comment
Саймон, я смог опубликовать и получить ответ от POSTMAN для того же URL-адреса. Должны ли мы включать что-либо дополнительно, чтобы получить такой же ответ при выполнении этого Java-кода?   -  person Sathish Rkrish    schedule 18.04.2015
comment
Можете ли вы опубликовать ответ и запрос (url, тело, заголовки), которые работали в Postman?   -  person spg    schedule 18.04.2015
comment
@ Симон-Пьер, я подробно рассказал в сообщении ниже. Кроме того, я использую Eclipse IDE под Mac для запуска этой программы.   -  person Sathish Rkrish    schedule 18.04.2015
comment
@ Саймон-Пьер, удалось решить эту проблему?   -  person Sathish Rkrish    schedule 20.04.2015


Ответы (1)


@all, проблема исправлена, удалены ссылки на RequestSpecs и вот фрагмент кода

public class ParcelPointJson {

    public static void main(String[] args) throws IOException, JSONException {

        BufferedReader tempreader = new BufferedReader(new FileReader("/Users/srkrish/gitTrial/pim-automation/RestService/Jsonfileinput.txt"));
        StringBuilder sbuilder = new StringBuilder();
        String line = tempreader.readLine();

            while (line != null) {
                sbuilder.append(line);
                line = tempreader.readLine();
            }
            tempreader.close();

        //Initializing Rest API's URL 
        String APIUrl = "http://api.staging.wow.parcelpoint.com.au/api/v3/parcel/collect?apiKey=09BH1TXV";

        //Initializing payload or API body 
        String APIBody = sbuilder.toString();

        //Making post request with authentication 
        Response response = given().contentType("application/json; charset=UTF-8").body(APIBody).when().post(APIUrl);

        JSONObject JSONResponseBody = new JSONObject(response.body().asString()); 

        //Fetching the desired value of a parameter 
        String result = JSONResponseBody.getString("parcelId");

        System.out.println(result);

        //Assert.assertEquals(result, "200"); 

        }

    }
person Sathish Rkrish    schedule 21.04.2015