1次申請
Swing Client : このクライアントは URI を入力として受け取ります。また、提供された URI は Web サービスの URL です。送信時に、クライアントは URI をパラメーターとして使用して WebService Client を実行します。
Webサービスクライアントを実行するには、
String command = "java -jar EncryptToken.jar " + requestURI;
Runtime.getRuntime().exec(command);
jar はクライアントによって提供され、requestURI を受け入れる main メソッド以外の public メソッドはありません。
2次申請
WebService Client : これは、サーバーでホストされている Web サービスを呼び出すために使用される Web サービス クライアントです。
逆コンパイルされたコードで、コンソール出力をロガー ファイルに記録するための以下のコードを見つけました。
OutputStream outStream = System.out;
try{
OutputStream os = new FileOutputStream("EncryptToken.log", false); // only the file output stream
TeeOutputStream tos = new TeeOutputStream(outStream, os); // create a TeeOutputStream that duplicates data to outStream and os
PrintStream fileStream = new PrintStream(tos);
System.setErr(fileStream);
System.setOut(fileStream);
}catch(FileNotFoundException ex){
out.println("[Golden Client] Log file create Exception = " + ex.toString());
return false;
}
質問
コマンド java -jar EncryptToken.jar http://example.org/GCWS/YesWSをターミナルまたは Windows コマンドラインから実行すると。
コマンドは正常に実行され、コンソール出力がファイルに書き込まれ、ファイルのサイズは 70 ~ 90 KB の間で変化します。
しかし、Swing Client で同じことを実行しようとすると、コマンドは実行されますが、ログ ファイルは最初に 1KB で初期化され、次に 5KB になり、その後フリーズします。5 KB のログには、終了していない xml が含まれています。Swing クライアントを閉じると、残りのコンソール出力がログ ファイルに追加されます。
Swing クライアントでファイルを読み書きしていません。Swing クライアントには System.out または System.err ステートメントはありません。
根本的な原因を突き止めることができません。助けてください。