BIRT 怎麼呼叫 Webservice 作為資料來源
BIRT雖然提供了訪問基於SOAP的Web Services,可以使用SOAP響應作為生成報表的資料。但總的來說,操作起來還是太麻煩了,靈活性也不夠:
1、配置過程步驟多,過於繁瑣。
2、引入的JAR很多,太重了。
3、API介面多,程式碼寫起來很長,除錯不方便。
4、只能接收簡單結果,沒有二次計算的能力。
比如要處理這麼個場景:根據傳入引數,呼叫外部WebService,返回該地區的天氣情況。URL:
呼叫服務後返回的XML資料格式如下:
<?xml version="1.0" encoding="utf-8"?> <ArrayOfString xmlns:xsi=" xmlns:xsd=" xmlns=" <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> |
期望結構化後的效果:
建議使用集算器,它將HTTP服務的url串的返回結果封裝成檔案流,實現同樣的演算法只需更少的程式碼,分步執行除錯也方便,且精心設計了一套集合運算領域的函式庫,以應對結構化後的各類運算,不再需要第三方資料庫來協助。最後將計算結果返回給BIRT的DataSet進行直接報表展現,比如上面的問題,只需5行:
|
A |
1 |
=wsdl=concat("\"("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) |
其實還有很多類似的計算問題不太方便,但有集算器SPL的輔助卻很簡單,感興趣可以參考: 、
集算器提供了 JDBC 驅動,可以很方便的與BIRT等報表工具整合, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699737/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BIRT 如何配置動態資料來源
- GridView用資料來源控制元件和用DataTable作為資料來源的不同View控制元件
- Jasper 怎麼配置動態資料來源
- BIRT呼叫oracle function薦OracleFunction
- PHP使用SOAP呼叫.net的WebService資料PHPWeb
- 讓 Birt 報表指令碼資料來源變得既簡單又強大指令碼
- 報表怎麼動態選擇資料來源
- 誒,我的動態資料來源怎麼失效了
- webservice介面呼叫Web
- List作為GridView資料來源時,繫結模板列的例子View
- webservice返回值是一個complextype,怎麼用java呼叫。WebJava
- 為什麼要建資料倉儲,而不是直連資料來源?
- 多源異構資料來源融合怎麼做!一文解讀(1)
- Ajax呼叫WebService(一)Web
- C#呼叫webserviceC#Web
- webservice中呼叫structWebStruct
- js 呼叫 WebService 方法JSWeb
- jsp連線sql server呼叫資料來源方法 (轉)JSSQLServer
- 怎麼配置jive使用容器的資料來源和連線池?
- jboss 3.2.3為何取不到資料來源?
- 資料來源(DataSource)是什麼以及SpringBoot中資料來源配置Spring Boot
- DaaS:大資料作為服務,會給企業帶來什麼?大資料
- DBMS_XPLAN的不同資料來源呼叫的不同方法
- jdonframe中如何呼叫在Tomcat中配置的資料來源Tomcat
- 這個jndi連線資料來源的問題怎麼解決?
- 同時第三方資料來源和資料庫歷史資料,作為cta策略初始化資料庫
- java動態呼叫webserviceJavaWeb
- 新增webservice呼叫日誌Web
- Axis2呼叫WebServiceWeb
- PHP呼叫Webservice例項PHPWeb
- webapi建立和呼叫WebServiceWebAPI
- 潤乾填報時資料來源為nullNull
- BIRT 中文字與 JSON 關聯怎麼做JSON
- jndi資料來源
- 多資料來源與動態資料來源的權衡
- Xamarin.Forms中為WebView指定資料來源SourceORMWebView
- 騰訊WebService Api 跨域呼叫WebAPI跨域
- C#動態呼叫webserviceC#Web