Нужна помощь в настройке параметров прокси для Java (JVM Launcher)

Я новичок в программировании на Java, и я провел много исследований, но все еще нуждаюсь в помощи. Я пытаюсь добавить настройки прокси в свой JVM Launcher, но я не знаю, как это сделать.

Я прочитал ответы на другие вопросы о том, что это можно сделать в CMD, используя ниже

java -Djava.net.useSystemProxies = истина

OR

java -Dhttp.proxyHost=Хост -Dhttp.proxyPort=Порт -Dhttp.proxyUser=Имя пользователя -Dhttp.proxyPassword=Пароль

Но мне нужно закончить их классом Java или файлом .Jar. Проблема в том, что я не знаю класс или файл .jar, из которого работает приложение. Мне нужно сделать это для интеграции данных Pentaho (PDI), и это все, что я знаю, выполняется на Javaw.exe.

Я видел другие ответы, в которых люди кодировали на Java с помощью eclipse, чтобы добавить настройки прокси, нужно ли мне идти по этому пути?

В основном я пытаюсь подключиться к Salesforce с помощью PDI, но настройки прокси-сервера моей компании останавливают меня. PDI работает на Java, поэтому мне нужно настроить прокси-сервер на Java, но я не знаю, с чего начать.

Любая помощь приветствуется. Спасибо.


java.lang.Exception: Ошибка подключения к Salesforce! Не удалось отправить запрос на https://test.salesforce.com/services/Soap/u. /37,0

at org.pentaho.di.ui.trans.steps.salesforce.SalesforceStepDialog.test(SalesforceStepDialog.java:97)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog.access$1700(SalesforceUpsertDialog.java:87)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog$10.handleEvent(SalesforceUpsertDialog.java:679)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog.open(SalesforceUpsertDialog.java:723)
at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:127)
at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8766)
at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3217)
at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:783)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1366)
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

person user10471443    schedule 08.10.2018    source источник
comment
Не много знаю о PDI, но если он основан на Java, должен быть какой-то скрипт, который запускает процесс PDI. Найдите этот скрипт, и именно здесь вы можете вводить параметры.   -  person Himanshu Bhardwaj    schedule 08.10.2018
comment
Проверьте документацию вашего программного обеспечения о том, как передавать параметры в JVM.   -  person Holger    schedule 08.10.2018


Ответы (1)


Ответ, который я нашел в Интернете, гласит, что для запуска PDI через прокси-сервер это должно быть сделано через пакетный файл, который запускает PDI, это Spoon.bat, это ссылка, которую я нашел. Если ваша трансформация выполняется через CMD и использует .KJB, вам нужно добавить этот параметр в Kitchen.bat... аналогично, если вы запускаете KTR через CMD, вам нужно будет добавить этот параметр в Pan.bat

РЕДАКТИРОВАТЬ:

Строка набора в Spoon.bat должна выглядеть так

-Dhttp.proxyHost=https://your.proxy -Dhttp.proxyPort=НОМЕР ПОРТА -Dhttp.proxyUser= ПОЛЬЗОВАТЕЛЬ - Dhttp.proxyPassword=ПАРОЛЬ

Таким образом, вся строка должна быть примерно такой

установить OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=%LIBSPATH%" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=% Kettle_repository%"" -dkettle_user =%kettle_user%"" -dkettle_password =%kettle_password%"" -dkettle_plugin_packages =%kettle_plugin_packages%"" -dkettle_log_size_limit =%kettle_log_size_limit yletle_leg_tlemtle_lage_htle_lage_htle_ href="https://your.proxy" rel="nofollow noreferrer">https://your.proxy -Dhttp.proxyPort=НОМЕР ПОРТА -Dhttp.proxyUser= ПОЛЬЗОВАТЕЛЬ -Dhttp.proxyPassword= ПАРОЛЬ

person Cristian Curti    schedule 08.10.2018
comment
Итак, JVM Launcher — это файл .bat? Да, я пробовал это раньше, но это все равно не сработало. Я ввожу пароль открытым текстом? - person user10471443; 08.10.2018
comment
Пробовал, все равно выдает ту же ошибку. Я отредактировал свой исходный пост с сообщением об ошибке. Может дело не в прокси? - person user10471443; 09.10.2018
comment
Вы изменяете URL-адрес веб-службы Salesforce на правильном шаге? test.salesforce.com/services/Soap/u/37.0 — значение по умолчанию. что приходит с шагом. - person Cristian Curti; 09.10.2018
comment
Да, это правильно. Я использую опцию вывода upsert для Salesforce. По умолчанию используется login.salesforce.com/services/soap/u/37.0. - person user10471443; 09.10.2018