передача параметров в удаленную оболочку компонента

StackOverflow https://stackoverflow.com/questions/2223067

  •  19-09-2019
  •  | 
  •  

Вопрос

Мне нужно передать параметр в удаленный сценарий beanshell, который запускается

java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3

вызов.

Можно ли как-то прочитать параметры «p1», «p2» и «p3» изнутри script.bsh?

п.с.Локальные параметры, проходящие через bsh.args работает нормально, но его невозможно использовать с удаленными сценариями.

Это было полезно?

Решение

Я полагаю, вы используете бобовая скорлупа библиотека.По словам источников, сделать это невозможно:утилита принимает всего 2 аргумента:URL-адрес и имя локального файла сценария.Он даже не поддерживает несколько имен файлов сценариев, как утверждает.

public class Remote
{
    public static void main( String args[] ) throws Exception
    {
          if ( args.length < 2 ) {
                   System.out.println("usage: Remote URL(http|bsh) file [ file ] ... ");
                   System.exit(1);
          }
          String url = args[0];
          String text = getFile(args[1]);
          int ret = eval( url, text );
          System.exit( ret );
    }

Также серверная сторона должна знать о передаваемых аргументах.

Выходы для вас:

  1. Создайте шаблон сценария, в котором вы подставите аргументы сценария, и сохраните замещающий сценарий во временной папке перед переходом к bsh.Remote
  2. Создайте удаленный файл, из которого скрипт сможет читать аргументы.Вам нужна дополнительная связь с удаленным сайтом, чтобы загрузить этот файл перед звонком. bsh.Remote.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top