私は問題で少し立ち往生しています。Soap テストを実行する Java/Swing デスクトップ アプリケーションを開発しています。SOAP テストを実行するには、curl 呼び出しを実行します。
したがって、このコードを実行すると:
public int excuteCommand(String cmd, Process pcs) throws IOException, InterruptedException{
Runtime run = Runtime.getRuntime();
pcs = run.exec(cmd);
return pcs.waitFor();
}
アプリケーションがフリーズします。
これは、上記の関数を呼び出すコードの一部です。
Process ps = null;
try{
//1. prepare inputFile.xml
//2. create outputFile.xml (if not exists, Win compatibility)
//3. create curl command
Curl oCurl = new Curl();
oCurl.setData(inputFile); //inputFile should contain SoapEnvelope and CDATA request
oCurl.setProxy(settings.getProxy()); //maybe there's proxy setting
oCurl.setHeader(settings.getHeader()); //set content-type and charset
oCurl.setAction(settings.getAction()); //set SOAPAction
oCurl.setTarget(settings.getTarget()); //set http://server:port/service target
oCurl.setOutput(outputFile); //set output file
String cmd = oCurl.getCommand();
if (executeCommand(cmd, ps) == 0)
consoleLog("Test complete!", INFO_LOG);
}catch(Exception e){
consoleLog(e.getMessage(), ERROR_LOG);
}finally{
if (ps != null)
ps.destroy();
}