cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot Change Web Service URL in ReportLogons when scheduling without error

Former Member
0 Kudos

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?

Accepted Solutions (0)

Answers (1)

Answers (1)

Adam_Stone
Active Contributor
0 Kudos

Are you able to manually set the custom information to the same values within the CMC and have it work?

Former Member
0 Kudos

Hi

Actually, no. I can't. Thought I had tested this.

In the database configuration for the report in the CMC, there is no option for XML in the "Select Database Driver" drop down.

When I try to "specify a custom driver" and enter something, the setting is not saved and when I return to this screen it is blank.

This looks like some sort of bug?

Former Member
0 Kudos

Is there some way of tracing the server side calls for this process? i.e enabling debug logging for this BO server process?

Former Member
0 Kudos

Hi

Have just checked on XI R2 and whilst the custom database field saves correctly, the report cannot be run via the CMC.

Adam_Stone
Active Contributor
0 Kudos

Since the issue is not specific to custom code, I moved this thread from the SDK section of the forums.