У меня есть этот простой фрагмент кода, который пытается загрузить файл на Amazon S3 через прокси. Это код:Клиент Amazon S3 подключается через прокси - putObject получает NullPointerException
BasicAWSCredentials basicCred = new BasicAWSCredentials("my_access_key", "my_secret_key");
ClientConfiguration clientCfg = new ClientConfiguration();
clientCfg.setProtocol(Protocol.HTTP);
//setup proxy connection:
clientCfg.setProxyHost("192.168.2.12");
clientCfg.setProxyPort(80);
AmazonS3 s3 = new AmazonS3Client(basicCred, clientCfg);
String bucketName = "mybucket";
String key = "/test/Capture.JPG";
File file = new File("d:/Test_Data/Capture.JPG");
System.out.println("Uploading a new object to S3 from a file");
s3.putObject(new PutObjectRequest(bucketName, key, file));
Однако это ошибка, я получил от запуска программы:
Exception in thread "main" java.lang.NullPointerException
at com.amazonaws.util.BinaryUtils.fromHex(BinaryUtils.java:69)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1066)
at javaapplication8.JavaApplication8.main(JavaApplication8.java:48)
Java Result: 1
Я использую последний AWS 1.3.8 SDK от амазонки. Прокси-сервер настроен на другом компьютере рядом со мной, и это просто простой прокси Javascript (http://www.catonmat.net/http-proxy-in-nodejs/)
Я не могу понять, почему , Кто-нибудь может мне помочь, пожалуйста?
После дальнейших исследований, я узнал, что это был hexData равна нулю в функции: общественный статический байт [] fromHex (String hexData) от BinaryUtils.java линии 69. Что это за другие способы, по которым я могу получить больше отладочной информации? – Eugene
UPDATE: У меня была такая же проблема с AWS SDK 1.6.7, похоже, все работает сейчас после обновления до 1.9.35 – sscarduzio