Link to home
Start Free TrialLog in
Avatar of aspnetdev
aspnetdev

asked on

Error in Sql Server 2005 Webservice --Client found response content type of 'text/html', but expected 'text/xml'

Hi,
I have a asp.net web page which has 3 dropdown list and a radio button plus a button.User select relevant values from the dropdowns,check the radio button if needed and click go button.Actually it calls a Sql server 2005 Reportiing web service and passes the parameters using this web service and renders report.But,im having problem rendering this report....i want to render in pdf format ....and heres my code
private void btnGO_Click(object sender, System.EventArgs e)
{
    GetReport();
}
 
private void GetReport()
{
     ReportExecutionService rsExec = GetReportExecutionService();
     bool forRendering = false;
     string extension = string.Empty;
     string mimeType = string.Empty;
     string encoding = string.Empty;
     string[] streamIDs = null;
     Web.ReportExecution2005.Warning[] warnings = null;
     string reportName = ConfigurationSettings.AppSettings["ReportExecution2005.ReportsFolder"] + "/" +"Report"+ ddlReport.SelectedItem.Text;
  Response.ContentType = "application/pdf";
  Response.AddHeader("content-disposition", "attachment;filename=" + ddlReport.SelectedItem.Text + ".pdf");
  rsExec.LoadReport(reportName,null); //here where i hit the problem
  Web.ReportExecution2005.ParameterValue[] parameters = new Web.ReportExecution2005.ParameterValue[4];
  parameters[0] = new Web.ReportExecution2005.ParameterValue();
  parameters[0].Label = "clientId";
 parameters[0].Name = "clientId";
 if(!chkByT.Checked)
{
    parameters[0].Value = 1
}
else
{
       parameters[0].Value = "-1";
}
                  
parameters[2] = new Web.ReportExecution2005.ParameterValue();
parameters[2].Label = "Year";
parameters[2].Name = "Year";
parameters[2].Value = ddlYear.SelectedItem.ToString();
parameters[3] = new Web.ReportExecution2005.ParameterValue();
parameters[3].Label = "Qtr";
parameters[3].Name = "Qtr";
parameters[3].Value = ddlQtr.SelectedValue.ToString();
parameters[4] = new Web.ReportExecution2005.ParameterValue();
parameters[4].Label = "Annual";
parameters[4].Name = "Annual";
if(radYearly.Checked)
{
     parameters[4].Value = "1";
}
else
{
      parameters[4].Value = "0";
}
 rsExec.SetExecutionParameters(parameters,"en-us");
 Byte[] bytes = rsExec.Render("PDF",null,out extension,out mimeType,out encoding,out warnings,out streamIDs);
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
and the error im getting is
Client found response content type of 'text/html', but expected 'text/xml'. The request failed with the error message: -- <html><head><title>Error</title></head><body>The specified procedure could not be found. </body></html> --.

            
Avatar of eozz_2000
eozz_2000

What happen if you clear the headers of your page before assiginng "application/pdf"?
hmm; reading the error message returned
>> The specified procedure could not be found <<
implies that a procedure that the report is based on/uses is not in the database??!!

put some try ... catch statements round rsExec.Render to see if that is place where code fails.

/Richard
ASKER CERTIFIED SOLUTION
Avatar of aspnetdev
aspnetdev

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial