2014-09-21 63 views
0

我有Oracle包過程,它將XML字符串作爲輸入變量並輸出XML字符串。我試圖編寫一個Web服務,但它返回空字符串(空),而不是XML字符串。ASP.NET C#Web服務Oracle包返回空字符串

代碼:

[WebMethod] 
    public string packageCall(string xmlStr) 
    { 
     OracleConnection oraCon = new OracleConnection(); 
     oraCon.ConnectionString = "Data Source="+database+";User Id="+ userId+";Password="+pass+";"; 
     oraCon.Open(); 
     OracleCommand objCmd = new OracleCommand("PKG_WEBSERV11.TEST",oraCon); 
     objCmd.CommandType = CommandType.StoredProcedure; 
     objCmd.Parameters.Add("P_IN", xmlStr.ToString()); 
     objCmd.Parameters.Add("P_OUT", OracleDbType.Varchar2).Direction = ParameterDirection.Output; 
     try 
     { 
      objCmd.ExecuteNonQuery(); 
      string result = "<!--[CDATA] "+objCmd.Parameters["P_OUT"].Value +" -->"; 
      return result; 
     } 
     catch (Exception ex) 
     { 
      return "Error: +"+ex; 
     } 
     finally 
     { 
      oraCon.Close(); 
     } 
    } 

套餐:

PKG_WEBSERV11 
    PROCEDURE TEST (P_IN IN VARCHAR2, P_OUT OUT VARCHAR2) 

回答

0

的代碼盯着幾個小時後,我意識到,解決的辦法是比預期的多很多簡單!

objCmd.Parameters.Add("P_IN", OracleDbType.Varchar2).Value = xmlStr;