Web services would be a convenient way of distributing reports, and additional security features can be installed. Being a web service, it is platform neutral and can be accessed from other OS. This 'CodeWalk' is to illustrate the ease with which such such a distribution can be accomplished. The article shows the mechanics of creating a web service, and then it shows how to access this service from a WebForm. This access is not limited to a WebForm, it can also be through a console client, but a different procedure has to be adopted.
On Publishing a Crystal Report as a Web Service
Crystal report as a web service:
Start a new project in Visual Studio [Microsoft Development Environment 2003 Version 7.1.3088]. Choose the web service project template [WebSvc2]. Remove the default file 'service1.asmx'. Import the Crystal Report file into the WebSvc2 folder [ParQry.rpt]. Right click this Crystal Report and pickup 'Publish as web service' from the pop-up menu. Now the service ParQryService.asmx is created. Choose ParQryService.asmx as initial start page and build the solution. Right click and pick up 'View in browser'. You will see the following web page:
On this page, all permitted operations will be listed as shown above. Click on 'Service Description' on this web page, this is the so called '*.wsdl' file, a file that can locate the service: 'http://localhost/WebSVC2/ParQryService.asmx?WSDL'.
The project folder for the web service so created is as shown here:
The Crystal Report published as a service will be available at the website for the above query string.
Testing the functionality of the Web Service
Web Service test rig:
Create a web application [WebSvc2Test]. To the WebForm1.aspx, add a
CrystalReportViewer control from the tool box. Add a
Button to the page, set
Text property of the
Button to 'Test Web Crystal Service'. Make some changes to the properties of the
CrystalReportViewer1 as shown in this screen shot.
Click event, add the following code:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
CrystalReportViewer1.ReportSource = _
This sets up the source for the
CrystalReportViewer to be fed from the web service called '
ParQryService', on the localhost web site. Build the solution and view the page on the browser. The browser page on loading will appear as in this picture:
Now, click the button and you will be getting the Crystal Report published as a service on the local host, as shown here:
Crystal Report from Web Service
Now, the overall folder structure of the test rig project is shown here: