我需要构建一个调用Oracle存储过程的web服务,存储过程将返回一个ref游标,webservice必须以xml格式显示数据。
我已经设置了Oracle命令代码来调用存储过程,并且我已经设置了类来详细说明我想要呈现的对象的结构([DataContract]和[DataMembers])。
任何人都可以向我指出一个很好的例子,我错过了什么来解决这个问题吗?我没有找任何人为我做我的工作,只是不知道从哪里去,因为我之前没有使用过Oracle存储过程
这就是我现在所拥有的
[WebMethod]
public DataSet PaymentAccDetails(Int32 strParRefNo)
{
DataSet ds = new DataSet();
OracleConnection conn = new OracleConnection(ConnectionHelper.HousingDBConnectionString);
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "Get_payment_acc_details_crm"; ;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("pParRefno", OracleType.Number)).Direction = ParameterDirection.Input;
cmd.Parameters.Add(new OracleParameter("oCursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
OracleDataAdapter da = new OracleDataAdapter(cmd);
conn.Open();
OracleDataReader reader = cmd.ExecuteReader();
da.Fill(ds);
conn.Close();
return (ds);
}
我想以这种格式返回数据。当我在浏览器中查看它时,我可以看到我的Web方法,不知道如何更改它以便返回数据。
[DataContract]
public class PaymentAccDetails
{
[DataMember(Order = 1)]
public string PaymentRef
{
get;
private set;
}
[DataMember(Order = 2)]
public DateTime StartDate
{
get;
private set;
}
[DataMember(Order = 3)]
public DateTime EndDate
{
get;
private set;
}
[DataMember(Order = 4)]
public string AccountType
{
get;
private set;
}
[DataMember(Order = 5)]
public string PaymentMethod
{
get;
private set;
}
[DataMember(Order = 6)]
public DateTime LastPaidDate
{
get;
private set;
}
[DataMember(Order = 7)]
public string Balance
{
get;
private set;
}
}
感谢