/**
* 通信メソッド。
* 引数でわたされたオブジェクトをサーバへ送信し、サーバからのレスポンスを返却する。
*/
public Object foo( String serviceName,
Serializable data )
throws Exception {
URLConnection connection = null;
connection = new URL(url).openConnection();
connection.setDoOutput( true );
connection.setDoInput( true );
connection.setUseCaches( false );
// サーバへオブジェクトの送信
ObjectOutputStream output = null;
try{
output = new ObjectOutputStream(conn.getOutputStream());
output.writeObject( serviceName );
output.writeObject( data );
output.flush();
} finally {
try {
if(output != null)
output.close();
} catch (IOException ignore) {}
}
// サーバからオブジェクトを受け取る。
ObjectInputStream input = null;
Object result = null;
try{
input = new ObjectInputStream( conn.getInputStream() );
result = ( Object )input.readObject();
} finally {
try {
if(input != null)
input.close();
} catch (IOException ignore) {}
}
//受け取ったオブジェクトを送信
return result ;
}
|