在我们的项目中,JavaWebService与用C和Perl编写的后端程序进行通信。我们正在使用ProcessBuilder执行后端(Unix)作业框架处理程序。
ProcessBuilder process;
process.Start(FrameworkHandler -a ACTION)
FrameworkHandler调用Perl脚本来执行一些操作。Perl脚本在内部执行两个XML文件之间的diff命令,并使用print函数打印错误:
sub print_error
{
$err_msg = shift;
print STDERR "$err_msg\n";
}
只要文件之间存在差异,Perl程序就会挂在print_错误函数中。如果我们在unix shell中执行perl程序,它将毫无问题地工作。但是,如果我们通过WebService执行Perl,它不会在diff命令之后返回。因此,WebService也没有返回响应。XML标记中大于(>)的符号是否产生问题?
任何帮助都非常感谢。
部分错误:
< diff -udr --new-file --label=postProcess1 --label=postProcess2 postProcess1 postProcess2
< --- postProcess1
< +++ postProcess2
< @@ -124,6 +124,36 @@
< <LOCATION></LOCATION>
< <ADDRESS_PART1>Test Address ^D</ADDRESS_PART1 >
< </address_details>
< + <address_details>
< + <CITY></CITY>
< + <STATE>12</STATE>
谢谢,
马修丽珠