2010-11-23 23 views
1

在windows7上運行,使用wkhtmltopdf從我們的網站生成pdf可以在命令提示符下正常工作。從通過commons-exec在jetty中運行的servlet運行完全相同的wkhtmltopdf命令會生成空白pdf。從java commons-exec啓動的應用程序無法訪問web上的win7,但從cmd.exe啓動可以

我已經在我們的網站上打開了accesslog valve以及在win7上安裝了netmon,並且我可以清楚地看到,從命令提示符調用時,我們網站本身的Web請求正在生成,但不是從碼頭髮射的過程中完全產生。

我已經用win7上的事件查看器檢查了事件日誌,但是我沒有看到任何安全異常或可能解釋爲空的pdf。事實上,它生成pdf意味着wkhtmltopdf可執行文件正在被調用。

任何想法可能導致wkhtmltopdf沒有http訪問?

回答

2

解決了這個問題,以防其他人遇到這種情況:儘管wkhtmltopdf可執行文件運行良好,但是它沒有任何環境變量而被啓動,導致http請求無聲無息地失敗(或者至少在某種程度上我從來沒有發現過)。更改進程啓動程序以將啓動進程中的所有環境變量複製到wkhtmltopdf進程中解決了問題。

請注意,我終於通過將wkhtmltopdf包裝在bat腳本中並打印出env vars和其他狀態來解決此問題。必須刷上我的蝙蝠腳本,但它是值得的。