ODI调用WebService---->OdiInvokeWebService

ODI 提供了OdiInvokeWebService调用第三方WebService,可以在package和过程中使用。

clip_image001[4]

一、准备测试用WebService

天气预报Web服务,数据来源于中国气象局公用事业

clip_image002[4]

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分析程序

clip_image003

输入WSDL文档位置,

clip_image004

自动分析

clip_image005

结果如下:

clip_image006

单击操作下拉列表,可以选择调用的WebService方法。这里我们选择getSupportCity

clip_image007

输入查询参数 山东,点击发送请求,测试

clip_image008

发送请求中

clip_image009

得到山东的城市,结果如下;

clip_image010

测试成功后,点击确定,发现属性面板结果如下:

clip_image011

其中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>

继续配置其他的参数

clip_image012

运行package

clip_image013

运行成功后,查看D: esponser.xml

clip_image014

2.2 使用请求文件

新建xml文件,D: equest.xml,复制刚才使用xml请求中Http分析程序自动生成的的内容至request.xml

clip_image015

clip_image016

将XML请求更换为请求文件

clip_image017

运行即可。

参考:

Oracle Data Integrator Tools Reference OdiInvokeWebService

Fusion Middleware Developer's Guide for Oracle Data Integrator Using Web Services

原文地址:https://www.cnblogs.com/xqzt/p/4778589.html