Erro ao tentar retornar um cursor pela Stored Procedure

Olá pessoal

Em uma base de dados Oracle, estou tentando retornar um Cursor. Para falar a verdade, nem sei se isso é possível, mas está me retornando NullPointerException toda vez.

Se puderem me ajudar, agradeço. Segue o código:

[code]package br.com.xxxx.xxx.xxxx;

import java.sql.CallableStatement;
import java.sql.ResultSet;

import oracle.jdbc.OracleTypes;

public class MontaPerfil {

private Conexao conn;
private CallableStatement pstmt = null;
public String sql = null;
public ResultSet rs = null;

protected ResultSet buscaPerfil(int codFuncionario,
int codSistema,
int codServico){

	this.conn = new Conexao();
	conn.conecta();
	
	sql = "call PERFIL_DE_ACESSO.buscaPerfil(?,?,?,?)";
	try{
		pstmt = conn.getConn().prepareCall(sql);
		pstmt.setInt(1,codFuncionario);
		pstmt.setInt(2,codSistema);
		pstmt.setInt(3,codServico);
		pstmt.registerOutParameter(4, OracleTypes.CURSOR); // retorna um cursor
		pstmt.execute();
		rs = pstmt.getResultSet();

	}catch(Exception e){
		System.out.println("ERRO 200: " + e.toString());
		e.printStackTrace();
	}finally{
		conn.desconecta();			
	}
	
	return rs;
}

}[/code]

Abraços

Galera…

desculpem, eu mesmo consegui encontrar uma solução
aqui vai o código:[code]package br.com.xxx.xxx.xxx;

import java.sql.CallableStatement;
import java.sql.ResultSet;

import oracle.jdbc.OracleTypes;

public class MontaPerfil {

private Conexao conn;
private CallableStatement pstmt = null;
public String sql = null;
public ResultSet rs = null;

protected ResultSet buscaPerfil(int codFuncionario,
				   			 	int codSistema,
				   			 	int codServico){

	this.conn = new Conexao();
	conn.conecta();

	sql = "call PERFIL_DE_ACESSO.buscaPerfil(?,?,?,?)";
	try{
		System.out.println("Entrou 2");
		pstmt = conn.getConn().prepareCall(sql);
		pstmt.setInt(1,codFuncionario);
		pstmt.setInt(2,codSistema);
		pstmt.setInt(3,codServico);
		pstmt.registerOutParameter(4, OracleTypes.CURSOR); // retorna um cursor
		pstmt.execute();
		
		rs = (ResultSet) pstmt.getObject(4);

	}catch(Exception e){
		System.out.println("ERRO 200: " + e.toString());
		e.printStackTrace();
	}

	return rs;
}

}[/code]

Fonte: http://yoprogramador.vampisol.com/index.php?title=pl_sql_oracle_desde_java&more=1&c=1&tb=1&pb=1