Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Cannot Change Web Service URL in ReportLogons when scheduling without error

Hi

I can successfully change all the report logon details for a crystal report where Sybase/Oracle stored procedures are the datasource. However, when I try to use a .net web service as the data source, I get the following error when the scheduled instance is processed:

"The database logon information for this report is either incomplete or incorrect"

I can successfully process the same report via the RAS and view a report in the crystalreport viewer by setting the relevant propertybag attibutes for the ConnectionInfo.

However, when trying to use the Enterprise SDK to set the reportlogon properties so that I can schedule the instance rather than view via the RAS, I get the error when the above error message is produced. The same code works for Oracle/Sybase.

The code in question is:

case "WEBSERVICE":

string url = DatabaseCredentials["REPORTDATASOURCE_WEBSERVICEWSDL"].ToString() + " " + DatabaseCredentials["REPORTDATASOURCE_WEBSERVICESERVICE"].ToString() + " " + DatabaseCredentials["REPORTDATASOURCE_WEBSERVICEPORT"].ToString() + " " + DatabaseCredentials["REPORTDATASOURCE_WEBSERVICEMETHOD"].ToString();

rptlogon.CustomDatabaseDLLName = "crdb_xml.dll";

rptlogon.CustomServerName = url;

rptlogon.CustomDatabaseName = rptlogon.DatabaseName;

rptlogon.CustomUserName = rptlogon.UserName;

rptlogon.CustomPassword = rptlogon.Password;

//SSC - No need to set as automatically set when CustomDatabaseDLLName is set

//rptlogon.CustomServerType = CrystalDecisions.Enterprise.Desktop.CeReportServerType.ceServerTypeUserSpecified;

rptlogon.UseOriginalDataSource = false;

break;

The properties of rptlogon before setting them is (i.e as contained in the report)

rptlogon

{CrystalDecisions.Enterprise.Desktop.ReportLogon}

base {System.MarshalByRefObject}: {CrystalDecisions.Enterprise.Desktop.ReportLogon}

CustomDatabaseDLLName: "crdb_xml.dll"

CustomDatabaseName: ""

CustomPassword: ""

CustomServerName: "http://localhost/wrt24build2/WebServices/ReportDataWebService.asmx?WSDL ReportDataWebService ReportDataWebServiceSoap12 Report1"

CustomServerType: ceServerTypeUserSpecified

CustomUserName: ""

DatabaseName: ""

IsCustomizable: true

OLAPDataSource: false

Password: ""

PromptOnDemandViewing: true

ServerName: "http://localhost/wrt24build2/WebServices/ReportDataWebService.asmx?WSDL ReportDataWebService ReportDataWebServiceSoap12 Report1"

ServerType: ceServerTypeUserSpecified

SSOEnabled: false

SubReportName: ""

TableLocationPrefixes: {CrystalDecisions.Enterprise.Desktop.TablePrefixes}

UseOriginalDataSource: true

UserName: ""

The properties after setting them are:

rptlogon

{CrystalDecisions.Enterprise.Desktop.ReportLogon}

base {System.MarshalByRefObject}: {CrystalDecisions.Enterprise.Desktop.ReportLogon}

CustomDatabaseDLLName: "crdb_xml.dll"

CustomDatabaseName: ""

CustomPassword: ""

CustomServerName: "http://10.115.59.180/wrt24build2/WebServices/ReportDataWebService.asmx?WSDL ReportDataWebService ReportDataWebServiceSoap12 Report1"

CustomServerType: ceServerTypeUserSpecified

CustomUserName: ""

DatabaseName: ""

IsCustomizable: true

OLAPDataSource: false

Password: ""

PromptOnDemandViewing: true

ServerName: "http://localhost/wrt24build2/WebServices/ReportDataWebService.asmx?WSDL ReportDataWebService ReportDataWebServiceSoap12 Report1"

ServerType: ceServerTypeUserSpecified

SSOEnabled: false

SubReportName: ""

TableLocationPrefixes: {CrystalDecisions.Enterprise.Desktop.TablePrefixes}

UseOriginalDataSource: false

UserName: ""

As you can see, I am only really changing (apart from UseOriginalDataSource) the URL of the WSDL as the report was bound to localhost when it was created but when run by CRS2008, it needs to be changed to a remote hostname. It is the same web service and the port/service/method are all the same.

Any ideas why this is?

Former Member
Not what you were looking for? View more on this topic or Ask a question