准备工作:创建WeatherWebService.wsdl文件
单击“语义”菜单的“数据源映射”命令,或选择某个项目,右击——新建——数据源映射,出现“新建数据源”对话框,选择需要创建关系数据源的项目,输入数据源名称,选择数据源类型为“webservice数据源”,如图:
单击“下一步”,选择WSDL文件的存放目录,单击“完成”即可。如图:
创建一张新的报表,然后单击“摘要”视图中“”按钮,打开“新建数据集”对话框,如图:
输入数据集名称,选择创建的数据源,选择类型,单击“下一步”,如图:
选择webservice操作,单击“下一步”,如图:
自动生成SOAP请求,如果修改了上一步,则需要单击“重新生成请求模板”按钮,重新生成SOAP请求。
单击“下一步”,出现“设置行映射”对话框,即设置报表数据行与XML数据源的映射关系。窗口左侧显示XML文档结构,如果节点含有子节点,则该节点前会显示“+”号,鼠标单击节点前的“+”号,则展开节点,显示所有子节点。
窗口右侧是选择的XML节点,即XPath表达式。
用户可以选中左侧文档结构中的节点,单击中间的【设置行映射】按钮,弹出【行映射】设置页面,根据需要进行设置,也可以直接在选择xml节点中,直接编写XPath表达式。如图:
编辑完成后,单击“下一步”,即设置报表数据列与XML数据源的映射关系。
可以在左侧的【XML文档结构】中的某一个节点,然后单击中间的“添加一列”()或“添加多列”()按钮,将某一节点或其子节点添加到右侧的列映射中,如图:
也可以在右侧的【列映射】中点击“新建”按钮,弹出“列映射表达式”编辑界面,编辑好列名、数据类型、XPath,点击“确定”即可,如图:
设置完成后,单击“完成”按钮即可在报表中使用了。
webservice数据源直接在报表应用的WEB-INF\resources\report_config.xml文件配置就可以了,如下:
<dsConf> <dataSource type="webservice"> <Name>ws</Name><!—xml数据源名称,与设计器中一致 --> <WSDL>http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl</WSDL><!—Web服务说明WSDL的URL--> </dataSource> </dsConf>
这样服务器端的xml数据源就配置完成了,将报表放到报表应用的WEB-INF\reports文件下,然后启动Tomcat,在web地址栏输入http://localhost:8080/report然后单击报表名称,查看一下报表是否正常显示。