Introduction
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 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.
To the Button
's 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 = _
"http://localhost/WebSVC2/ParQryService.asmx"
End Sub
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:
License
This article has no explicit license attached to it, but may contain usage terms in the article text or the download files themselves. If in doubt, please contact the author via the discussion board below.
A list of licenses authors might use can be found here.