ODI 提供了OdiInvokeWebService调用第三方WebService,可以在package和过程中使用。
一、准备测试用WebService
天气预报Web服务,数据来源于中国气象局公用事业
Endpoint:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
Disco:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?disco
WSDL:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
天气预报Web服务数据来源于中国气象局 http://www.cma.gov.cn/ ,数据每2.5小时左右自动更新一次,准确可靠。包括 340 多个中国主要城市和 60 多个国外主要城市三日内的天气预报数据。
getSupportCity 查询本天气预报Web Services支持的国内外城市或地区信息
输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;
返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。
二、OdiInvokeWebService 调用WebService Demo
2.1 使用xml请求
新建Package,拖拽OdiInvokeWebService至编辑面板,点击HTTP分析程序
输入WSDL文档位置,
自动分析
结果如下:
单击操作下拉列表,可以选择调用的WebService方法。这里我们选择getSupportCity
输入查询参数 山东,点击发送请求,测试
发送请求中
得到山东的城市,结果如下;
测试成功后,点击确定,发现属性面板结果如下:
其中XML请求中的内容如下:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://WebXml.com.cn/"><env:Header/><env:Body><ns1:getSupportCity><ns1:byProvinceName>山东</ns1:byProvinceName></ns1:getSupportCity></env:Body></env:Envelope>
继续配置其他的参数
运行package
运行成功后,查看D:\responser.xml
2.2 使用请求文件
新建xml文件,D:\request.xml,复制刚才使用xml请求中Http分析程序自动生成的的内容至request.xml
将XML请求更换为请求文件
运行即可。
参考:
Oracle Data Integrator Tools Reference OdiInvokeWebService
Fusion Middleware Developer's Guide for Oracle Data Integrator Using Web Services