BIRT如何调用Webservice作为数据源

本篇内容主要讲解“BIRT如何调用Webservice作为数据源”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“BIRT如何调用Webservice作为数据源”吧!

创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为桦川企业提供专业的成都做网站、成都网站设计,桦川网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

BIRT虽然提供了访问基于SOAP的Web Services,可以使用SOAP响应作为生成报表的数据。但总的来说,操作起来还是太麻烦了,灵活性也不够:

1、配置过程步骤多,过于繁琐。

2、引入的JAR很多,太重了。

3、API接口多,代码写起来很长,调试不方便。

4、只能接收简单结果,没有二次计算的能力。

比如要处理这么个场景:根据传入参数,调用外部WebService,返回该地区的天气情况。URL:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=...

调用服务后返回的XML数据格式如下:

  Henan (Province).

  Xinyang(City).

  464000

  57297.jpg

  2019/12/20 16:00:31

  0°C/10°C

  December 20 is cloudy to overcast

  East to north is less than category 3

  ...

期望结构化后的效果:

BIRT如何调用Webservice作为数据源

建议使用集算器,它将HTTP服务的url串的返回结果封装成文件流,实现同样的算法只需更少的代码,分步执行调试也方便,且精心设计了一套集合运算领域的函数库,以应对结构化后的各类运算,不再需要第三方数据库来协助。最后将计算结果返回给BIRT的DataSet进行直接报表展现,比如上面的问题,只需5行:


A

1

=wsdl=concat("\"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=",urlencode("Xinyang","UTF-8"),"\":\"UTF-8\"")

2

=httpfile(${wsdl})

3

=xml(file(A2).read(),"ArrayOfString/string")

4

=create(${A1.(concat("str",#)).concat@c()})

5

>A4.record(A3)

到此,相信大家对“BIRT如何调用Webservice作为数据源”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文标题:BIRT如何调用Webservice作为数据源
转载注明:http://scjbc.cn/article/pghdgh.html

其他资讯