приложение, запущенное из java commons-exec, не может получить доступ к сети на win7, но может быть запущено из cmd.exe - PullRequest
1 голос
/ 23 ноября 2010

Запуск на windows7, использование wkhtmltopdf для генерации pdf с нашего сайта прекрасно работает из командной строки. Выполнение точно такой же команды wkhtmltopdf из сервлета, запущенного в Jetty через commons-exec, приводит к пустому pdf.

Я включил клапан доступа на нашем сайте, а также установил netmon на win7, и я ясно вижу, что веб-запрос на наш сайт генерируется при вызове из командной строки, но генерируется вообще из процесса, запущенного на пристани.

Я изучил журналы событий с помощью Event Viewer на win7, но я не вижу каких-либо исключений безопасности или таких, которые могли бы объяснить пустой pdf. Тот факт, что является генерацией PDF, подразумевает, что исполняемый файл wkhtmltopdf вызывается правильно.

Есть идеи, что может привести к тому, что wkhtmltopdf не будет иметь http-доступа?

1 Ответ

2 голосов
/ 23 ноября 2010

Решено, на случай, если кто-то еще столкнется с этим: хотя исполняемый файл wkhtmltopdf работал нормально, он запускался без переменных среды вообще, и это приводило к тому, что http-запрос прерывался молча (или, по крайней мере, таким образом, чтоЯ так и не обнаружил)Изменение панели запуска процесса для копирования всех переменных env из процесса запуска в процесс wkhtmltopdf решило проблему.

Обратите внимание, что я наконец-то решил эту проблему, обернув wkhtmltopdf в скрипт bat и распечатав env vars и другое состояниетам.Пришлось освежить мои скрипты, но это того стоило.

...