Java-процесс возвращает код завершения 35 только на первой итерацииJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java-процесс возвращает код завершения 35 только на первой итерации

Сообщение Anonymous »


Я вызываю Curl с помощью Java-процесса, чтобы отправить текст JSON в API. Я вызываю этот код в цикле, и все обновления работают, кроме первого, которое завершается с ошибкой с кодом завершения 35. Я считаю, что код ошибки исходит от Curl и является ошибкой подключения TLS/SSL.

Это суть метода, который вызывается неоднократно. Опять же, только первое обновление завершается неудачно, все последующие обновления выполняются успешно. Может быть, есть какие-то накладные расходы при создании исходного файла или ProcessBuilder, который затем используется для последующих вызовов?
File f = new File("c:\\temp\\json.txt"); String str = "{\"batch_fields\":{\"Номер пакета\":\""+num+"\"}}"; попробуйте (BufferedWriter Writer = новый BufferedWriter (новый FileWriter (f))) { писатель.писать (стр); } StringBuilder sb = новый StringBuilder(); Команда StringBuilder = new StringBuilder("c:\\Program Files\\curl\\bin\\curl -H \"X-Token: "+BatchUtils.API_TOKEN_READ_WRITE+"\""); Command.append(" -X PUT -H \"Тип контента: application/json\" "); Command.append(" -d \"@c:\\temp\\json.txt\" "); Command.append("https://blah/blah/batches/"+batchId+"\""); ProcessBuilderprocessBuilder = новый ProcessBuilder(command.toString().split(" ")); Процесс процесса = процессBuilder.start(); Входной поток = процесс.getInputStream(); if(is == null || is.read() == -1) { is =process.getErrorStream(); sb.append(" Не удалось обновитьBatchNumber: " + is.toString()); } еще sb.append("Обновленный номер пакета"; int exitCode =process.waitFor(); sb.append(". Код выхода: " + exitCode); процесс.уничтожить();
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»