Композитор Hyperledger "Неожиданный код ответа 500" от Android Volley HTTP Post запрос - PullRequest
0 голосов
/ 30 мая 2018

Я хочу опубликовать данные в hyperledger composer с Android через клиентскую библиотеку volley http.ниже приведен код.

String url="http://50.23.0.202:31090/api/Doctor";
private void postUsingJson() throws JSONException {
    RequestQueue requstQueue = Volley.newRequestQueue(this); // this = context
    JSONObject jsonObject=new JSONObject();

    jsonObject.put("$class", "org.acme.Doctor");
    jsonObject.put("doctorID", "300");
    jsonObject.put("doctorName", "Zubair ");
    jsonObject.put("contact", "05654");
    jsonObject.put("description", "Cardiologist");
    jsonObject.put("schedule", "resource:org.acme.Schedule#2");

    System.out.println("json "+jsonObject);
    JsonObjectRequest jsonobj = new JsonObjectRequest(Request.Method.POST, url,jsonObject,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    System.out.println("response "+response);
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    System.out.println("hi "+error.getMessage());
                }
            }
    );
    jsonobj.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
            0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    requstQueue.add(jsonobj);
}

После запуска этого кода я получаю эту ошибку

Когда я копирую тот же самый json (как показано на рисунке выше) и отправляю его черезСервер отдыха композитора работает нормально.

Ответы [ 2 ]

0 голосов
/ 25 июля 2018

Я не уверен, решили ли вы эту проблему или нет.Но иногда очень полезно проверить фактический http-пакет с помощью такого инструмента, как Wireshark.Вы можете сравнить пакеты между случаями curl и application

0 голосов
/ 07 июня 2018

Надеюсь, я еще не опоздал.Похоже, что в вашей бизнес-сети уже есть доктор, у которого doctorID равен 300, поэтому вы не можете добавить другого пользователя с таким же doctorID, поскольку doctorID должен быть уникальным.Попробуйте изменить идентификатор доктора на любой другой номер, которого еще нет в вашей сети.

...