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:
Worked in the area of electrical discharges, high energy lasers, high voltage technology, plasma technology, lithography, thin film plastics, superconducting thin films, diamond thin films, electron accelerators, and free electron lasers for several years. Mentored/guided MS and PhD students at several universities in USA, Brazil, Australia, and India.
Reading books and photography are my hobbies.
Also trained workforce clients with legacy computer skills in web related technologies.
I recently authored a beginner level book on MS SQL Server Integration Services. Details available at the following link:
My second book was released in 2008
Learn SQL Server Reporting Services 2008
Get book details at the following site:
This is for anyone who is interested in Reporting Services a la Microsoft. It has over 50 hands-on exercises and covers all aspects of Reporting Services.
Recent new books:
Microsoft SQL Azure Enterprise Application Development 2010
-A Comprehensive book on SQL Azure
Microsoft Visual Studio LightSwitch Business Application Development 2011
A step-by-step approach that is sure to work
Learning SQL Server Reporting Services 2012 Packt Publishers, ISBN: 978-1-84968-992-2 , 2013