繁体   English   中英

从Axis Web服务启动应用程序

[英]launching an application from an axis webservice

我正在尝试从Axis Web服务中启动应用程序,但是我不明白我在做什么错。 我用来生成Web服务的类是这样的:

public class Esecutore {

public String esegui(){ 
        try {

            ProcessBuilder builder=new ProcessBuilder("parser.bat");
            builder.redirectErrorStream(true);
            Process pr;
            pr = builder.start();
            InputStream stdout=pr.getInputStream();
            OutputStream stdin=pr.getOutputStream();
            BufferedReader br=new BufferedReader(new InputStreamReader(stdout));
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(stdin));
            String line = br.readLine();
            while(line!=null){
                line=br.readLine();
            }
            int termine=pr.waitFor();
            if(termine!=0){
                return "errore nell'inserimento";
            }
            return "finito";
        } catch (IOException e) {
            // TODO Auto-generated catch block
            return "errore: "+e.getMessage();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            return "errore: "+e.getMessage();
        }


}
}

当我从命令行执行该批处理文件时,该批处理文件可以正常工作,它只是启动一个.jar,不需要任何输入。 但是,我可以看到,通过此代码执行此操作时,它的退出状态不同于0,并且由于.jar应该写入数据库,所以我也从数据库日志中知道它根本不会执行。

首先,我将在轴外测试此类功能,以查看其是否有效。
由于您有一个“ bat”文件,因此我假设我们正在谈论Windows中的批处理文件。 在这种情况下,ProcessBuilder应该在构造函数“ cmd / c start parse.bat”中具有。 请参阅此处的完整说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM