第三方语言程序调用Fusion Webservice的方法说明
Oracle Fusion
Cloud中有很多不同形式的接口,对于大批量数据交互的需求操作,其中Webservice接口更较为常用,Webservice接口又分为soap
和rest两种不同类型。
**概述**
REST 和 SOAP 是在线传输数据的两种不同的方法。具体而言,它们都定义了应用编程接口(API)(该接口允许数据在 Web
应用之间交换)的构建方式。表述性状态传递(REST)是一组架构原则。简单对象访问协议(SOAP)则是一个由万维网联盟(W3C)制定的官方协议。二者的主要区别在于
SOAP 是一种协议,而 REST 不是。通常,取决于实际用例和开发人员偏好,API 会遵循 REST 或 SOAP 准则。
1. SOAP(Simple Object Access Protocol)一般指简单对象访问协议, SOAP 是一项标准协议,其最初的设计意图是让使用不同语言且在不同平台上构建的应用之间进行通信。由于 SOAP 是一项协议,因此它会施加一些内置规则,从而增加复杂性和开销,并可导致页面加载时间延长。但是,这些标准还提供了内置合规性,使其更适合企业应用。内置合规性标准包括安全性、原子性、一致性、隔离性和持久性(ACID),这是一组旨在确保数据库事务可靠性的属性。
2. Rest,Representational State Transfer的缩写,资源(数据)的表示(json、xml)+状态转化(http verb动作)使用URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。用来规范客户端如何在HTTP 层与 API 提供方进行数据交互 。
**使用说明**
由于Fusion Webservice已经封装好形成了一个url链接,第三方程序语言只需要针对不同需求去调用相应的url发送http请求,主要流程如下:
**一**
**第三方语言程序软件工具使用(固定集成工具)**
常用的软件工具调用Webservice有soapUI和postman等,(接口有四种操作方式,post:新规数据 delte:删除数据 patch:修改数据
get:查询数据), 由于项目不能随便修改创建的原因本次仅以获取数据的方式去进行举例说明
**1.使用soapUI调用物料Rest接口,查询物料信息**
①Rest项目创建
②输入rest接口路径
(https://xxxx.oraclecloud.com/fscmRestApi/resources/11.13.18.05/inventoryOnhandBalances?q=SummaryLevel=Organization;ItemNumber=’xxxx’;OrganizationCode='xxxx')
③设置用户密码以及想要获取数据的参数,请求标题头默认是JSON( Content-
Type:application/vnd.oracle.adf.batch+json ) soapUI都有默认标题头,一般不需要再进行设置
④发送get请求,服务端响应返回查询结果
**2.使用soapUI调用soap接口 获取BI报表查询结果**
①SOAP项目创建
②输入SOAP接口路径
(https://xxxxx.oraclecloud.com/xmlpserver/services/PublicReportService?WSDL)
③设置用户密码以及想要获取数据的参数生成请求报文,然后运行获取服务器响应。soap请求标题头默认是XML (Content-Type: text/xml)
(soapui打开之后会自带有请求报文示例 ,直接修改参数部分即可)
④返回内容进行解码
**二**
**第三方语言开发程序调用**
Fusion
接口是通过内部封装好的通道,所以只要能够提供http请求的语言程序都可以进行调用,做完一个技术人员我们平时用到的vba,shell,java等语言脚本都是可以自己进行开发调用,实现一些简单的增删改查功能,以下我以vba语言进行示例讲解。
基本上大家都知道Visual Basic for
Applications(VBA)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft
Office软件。而对于批量处理数据的话结合excel更能帮助使用者快速调节数据,所以我们可以在通过接口获取数据显示到excel上进行排列查询以及批量修改上传相关数据。
接口都是固定的字段,那么获取的信息就有局限性,所以我们就可以利用上述查询BI报表的接口去灵活实现查询数据。首先需要在fusion
环境中客户化自己想检索的报表,再用接口获取到相关数据进行整理按要求的格式排列出来。
报表作成内容任意,报表关键要求xml
设置excel模板,作成查询界面的
编写vba调用代码,以下是关键发送报表代码
(其中参数是excel界面设置的检索参数,参数获取的话就是拼接生成请求报文,报文样式以及关键代码如下)
请求报文在vba代码内容生成的与在软件工具中作成是一样的,只是参数是灵活获取excel界面的值
主要以获取到excel模板上面参数部分的值拼接生生成报文,其它部分代码都是固定不变的(若一个参数有多个值就需要分割再循环拼接一些请求报文)
获取返回内容进行截取然后base64解码
解码获得的内容,再通过vba代码循环截取输出到响应字段字段的表格中
对数据的批量新规更新的原理相同,发送需要修改的请求,就是在基于excel已填入的主数据,对其记录进行循环生成请求报文,然后发送请求。(fusion常见以rest接口对数据进行登录更新等操作)
第三方软件程序和开发程序两者比较:
软件程序工具
优点:直接快捷,人工花费时间少,易操作,更具稳定性
缺点:只能固定形式运行
开发语言程序工具
优点:灵活变化需求内容,可以支持更多操作
缺点:开发成本,有可能会存在性能问题
以上就是第三方语言程序使用fusion
接口的介绍,开发程序使用方法需要本人对使用的开发语言以及fusion接口有足够的了解,对于语言不熟练的人也可以通过软件工具程序了解到更多关于fusion接口的内容,希望本文提供的内容可以帮助大家进行更多的扩展。
**\- END -**
作者:伍飞宇
审核:梁 超
编辑:朱思聪