web服务可以被多个不同用户所访问,那么报告(reporting)又该是怎样的呢?crystal reports已经成为了visual studio中事实上的报告标准,并且通过visual studio.net现在已经可以将报告文件转换为web服务。然后可以通过访问这些web服务来将报告发送给企业内部或外部的用户。本文中,我们将一起来看看如何根据已有的报告文件来创建web服务。在本文第二部分,我们将分析如何使用所创建的web服务。
注意:在本教程中我们将使用visual studio.net 2003。在开始学习之前,请检查你已经安装了visual studio以及所有的crystal reports组件,包括“crystal web services”相关选项。
打开visual studio,从start菜单中选择file > new > project来创建新的asp.net web application。在本例中,我们将此项目命名为“reportservice”。
在创建项目之后,需要创建或添加已有的crystal report,我们将在后面将其转换为web服务。如果还没有报告文件,可以使用同visual studio一同发布的示例报告,它位于c:program filesmicrosoft visual studio .net 2003crystal reportssamplesreports。在本例中,我们将使用在general business示例文件夹中的“world sales report.rpt”。
要在项目中添加已有的报告,可以选择project > add existing item,然后将对话框底部的下拉列表改为“crystal reports”,并选择希望添加的报告文件。
下一步,在solution explorer选定报告,然后直接右键单击报告。右键单击菜单中会出现“publish as web service”选项。选择此选项将产生一个asmx文件,你可以通过右键单击此文件(本例中为“world sales reportservice.asmx”)并选择“view in browser”来对其进行查看。
此预览将显示所有对web服务允许进行的操作,其中包括:
drillgraph
refresh
findtext
getpage
gettotaller
testreport
getgroupleveldata
findgroup
getlastpagenumber
getreportinfo
export
这里还会有一个链接链到使用wsdl(web服务定义语言,web service definition language)所编写的正式的web服务定义。