Автоматизация загрузки файлов в IBM Security Identity Management and Intelligence - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь написать javascript, который будет автоматически загружать файл CSV, используя службу API остальных приложений. Я протестировал API с помощью Postman, и он работает, файл успешно загружен в приложение. Тем не менее, это не работает, когда я пытался скомпилировать и выполнить программу в java eclipse. Может ли кто-нибудь дать мне совет, если проблема связана с моим кодом или есть что-то еще, что мне не хватает?

Скриншот тестирования почтальона: введите описание изображения здесь

Ниже приведен скрипт Java:

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;

    public class Main_Class {
    public static void main(String[] args)
    {
        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException 
        {
           System.out.println("The abs path of the file is"+file);  
           while(true)  //checking the file status for arrival of big file size 
           {
          String f = file.toString();
          File file1 = new File(f);
          if ( file1.exists())
              {
            RandomAccessFile statusCheck = null;
            try 
            {
                  statusCheck = new RandomAccessFile(file1,"r");
              if(statusCheck != null)
              {
                 //start here <------
                 System.out.println("New file detected. Intiating IGI REST API call...");
                 statusCheck.close();

                         OkHttpClient client = new OkHttpClient();

                 MediaType mediaType = MediaType.parse("multipart/form-data");
                 String bodystr = "------WebKitFormBoundary7MA4YWxkTrZu0gW"

                 //content of the csv place into this mediaType 
                 + "Content-Disposition: form-data; name=\"uploadedFiles[]\"; filename=\"C:\\Downloads\\SampleCSVFile.csv\""
                 + "Content-Type: text/csv"
                 + "------WebKitFormBoundary7MA4YWxkTrZu0gW"
                     + "Content-Disposition: form-data; name=\"name\""
                 + "SampleCSVFile.csv"
                 + "------WebKitFormBoundary7MA4YWxkTrZu0gW"
                 + "Content-Disposition: form-data; name=\"type\""
                 + "file"
                 + "------WebKitFormBoundary7MA4YWxkTrZu0gW"
                 + "Content-Disposition: form-data; name=\"relativePath\""
                 + "connectors/CSV/"
                 + "------WebKitFormBoundary7MA4YWxkTrZu0gW--";

                 //create mediatype
                 //this is api request body
                 RequestBody body = RequestBody.create(mediaType, bodystr);
                 Request request = new Request.Builder()
                .url("https://192.168.0.125:9443/v1/customfiles")
                .post(body)
                .addHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW")
                .addHeader("Content-Type", "application/x-www-form-urlencoded")
                .addHeader("Accept", "application/json")
                .addHeader("Authorization", "Basic YWRtaW46UGFzc3cwcmQh")
                //.addHeader("Cache-Control", "no-cache")
                //.addHeader("Postman-Token", "81299ae7-0ed5-4365-8003-65162ae118b1")
                .build();

                  Response response = client.newCall(request).execute();
                  System.out.println("RESPONSE CODE:" + response.toString());
                  if(response.toString().contains("200"))
                  {
                 Path path = Paths.get("C:\\Downloads\\SampleCSVFile.csv\");
                 Files.delete(path);
                 System.out.println("Successfully deleted the processed file");
                  }
              }
              break;
            }catch(Exception e)
                  {
                  System.out.println("In processing : " + e.getMessage());

              }
            }
        }   
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...