2010-02-08 1 views
0

Мне нужно передать параметр в удаленного сценария Beanshell, которая запускается черезпередачи параметров удаленного 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?

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

ответ

0

Я полагаю, вы используете библиотеку beanshell. Невозможно сделать это, согласно источникам: утилита принимает только 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.
Смежные вопросы