pb webservice 调用 webservice_BIRT 怎么调用 Webservice 作为数据源

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

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

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

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

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>

<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">

<string>Henan (Province).</string>

<string>Xinyang(City).</string>

<string>464000</string>

<string>57297.jpg</string>

<string>2019/12/20 16:00:31</string>

<string>0°C/10°C</string>

<string>December 20 is cloudy to overcast</string>

<string>East to north is less than category 3</string>

<string>...</string>

</ArrayOfString>

期望结构化后的效果:

08cb9c69b39063252b3e7a13ab8d2589.png

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

4a607938a346dff55669462e6750e7c8.png

其实还有很多类似的计算问题不太方便,但有集算器SPL的辅助却很简单,感兴趣可以参考:解决BIRT动态数据源的若干示例、XML数据解析与计算

集算器提供了 JDBC 驱动,可以很方便的与BIRT等报表工具集成,BIRT调用SPL脚本有使用和获得它的方法。

关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值