您的位置:新葡亰496net > 网络数据库 > 新葡亰496netORACLE存储过程调用Web,oracle存储过程

新葡亰496netORACLE存储过程调用Web,oracle存储过程

发布时间:2019-08-31 04:50编辑:网络数据库浏览(169)

    1. 概述

      近些日子在ESB项目中,顾客在种种系统之间的劳动调用比非常多都是在oracle存储进度中开展的,本文就oracle存款和储蓄进程调用web service来张开认证。其余主流数据库,举例mysql和sql service,调用web service的秘籍这里就不做牵线了,本文首要用来介绍oracle存款和储蓄进程调用Web Service的措施。

      威名赫赫,在Web 瑟维Stone过HTTP契约发送诉求和吸纳结果时,发送的伸手内容和结果内容都施用XML格式封装,并追加了部分一定的HTTP新闻头,以注明HTTP信息的内容格式,那几个特定的HTTP音信头和XML内容格式便是SOAP合同。SOAP左券是基于HTTP契约的,两个的涉嫌就好比高速路是依据普通公路更动的,在一条公路上丰裕隔开栏后就成了高速路。

      同理,在oracle的存放进程中能或不能够也透过创办XML格式的报文 HTTP协议来调用Web Service呢?答案是迟早的,在ORACLE中有三个誉为UTL_HTTP的工具包,大家可以通过那一个工具包来完成存款和储蓄进度调用Web 瑟维斯。

      上文提到的AEAI ESB是数通畅联的为主产品之一,能够兑现WEB服务支付和WEB服务登记等功效,本文的接口样例,本思索采纳ESB创造的WEB服务,不过由于涉及到的内需介绍的内容和本文核心太远,所以采用了AEAI DP开采平台自带的Web服务样例来表明。有对AEAI ESB感兴趣的读者能够透过本文最后的相关链接查找精通。

    ORACLE存款和储蓄过程调用Web Service,oracle存储进度

    1  概述

      集团劳动总线(Enterprise ServiceBus,缩写 ESB),是SOA面向服务架构的中央,在产生劳动的接入、服务间的通讯和互动基础上,提供安全性、可信性、 高品质的劳务本领保证。选取 SOA 架构,基于ESB总线进展市廛异构应用集成,能够使得裁减利用种类、种种零部件及连锁技术的耦合度,消除应用系统点对点集成瓶颈,减弱集成开辟难度,进步复用,拉长系统开荒和平运动行成效,便于职业系统灵活重构、敏捷适应专门的学问及流程变化。

      本文对商家劳动总线ESB集成项目中,基于AEAI ESB达成异构系统合而为一的连锁标准、标准举行解说、明显,为品种打开以及后续完善增加提供技术参照他事他说加以考察和依照。

    1  概述

      公司服务总线(Enterprise ServiceBus,缩写 ESB),是SOA面向服务架构的为主,在完成服务的过渡、服务间的通信和相互基础上,提供安全性、可信性、 高质量的劳务力量保证。接纳 SOA 框架结构,基于ESB总线举办商场异构应用集成,能够有效缩小利用种类、各类零部件及连锁才具的耦合度,消除应用系统点对点集成瓶颈,减少集成开辟难度,进步复用,增长系统开辟和平运动转功能,便于专门的学业种类灵活重构、敏捷适应工作及流程变化。

      本文对合作社会服务务总线ESB集成项目中,基于AEAI ESB达成异构系统合而为一的相关规范、规范开展阐释、明确,为项目开展以及持续完善扩张提供本事仿效和依据。

    2. 预料读者

    • 数通畅联新职工
    • 科学普及技艺爱好者

    1. 概述

      这两天在ESB项目中,客商在各种系统之间的劳务调用大多都以在oracle存款和储蓄进度中进行的,本文就oracle存款和储蓄过程调用web service来进展验证。别的主流数据库,比如mysql和sql service,调用web service的不二秘技这里就不做牵线了,本文主要用来介绍oracle存款和储蓄进度调用Web Service的方法。

      家谕户晓,在Web 瑟维Stone过HTTP合同发送央浼和接到结果时,发送的乞求内容和结果内容都施用XML格式封装,并追加了一些一定的HTTP新闻头,以验证HTTP新闻的内容格式,那一个特定的HTTP音讯头和XML内容格式正是SOAP公约。SOAP公约是基于HTTP协议的,两个的涉及就好比一级公路是依据普通公路改变的,在一条公路上加上隔绝栏后就成了高速度公路。

      同理,在oracle的积攒进度中能还是不能够也通过创办XML格式的报文 HTTP左券来调用Web Service呢?答案是必定的,在ORACLE中有三个称作UTL_HTTP的工具包,大家得以经过那一个工具包来完成存款和储蓄进程调用Web Service。

      上文提到的AEAI ESB是数通畅联的中坚产品之一,能够兑现WEB服务支出和WEB服务登记等作用,本文的接口样例,本思索选拔ESB成立的WEB服务,然则出于涉及到的内需介绍的源委和本文宗旨太远,所以利用了AEAI DP开垦平台自带的Web服务样例来注解。有对AEAI ESB感兴趣的读者能够因而本文最终的相关链接查找精通。

    2  功效特色

      AEAI ESB作为数通畅联合公司团的集团应用集成产品,首要用以完成异构系统(如:分化的数据库、消息中间件、ERP或CRM等)之间的财富整合,完结互连互通、数据分享、业务流程和煦统一等功能,营造灵活可扩展的布满式公司应用。

      比较古板的公司应用集成软件平台,AEAI ESB是二个全新的符合SOA架构的应用服务整合平台,是基于大批量合龙实践经验不断完善、用于创设可管理、可扩充及经济迅猛的EAI本事施工方案。

    新葡亰496net 1

    图1.基于AEAI ESB总线的集团应用集成情势

      AEAI ESB提供了从集团应用集成的规划、开辟、安排,到运转、管理、监察和控制各样生命周期阶段的工具。它提供的图形化、拖拽式开垦情势,能够异常的快创制可扩充足歧品种的数据(应用)集成流程,并完善帮忙服务及服务常用格局Web Service,简化了服务的开创与包装,并可以使客商灵活地编排服务,以满足不断变化地职业须求和作业管理流程。

      AEAI ESB基于JavaEE体系创设,重要含有四个模块:服务器ESBServer、设计器ESBDesigner、管控核心。ESBServer是AEAI ESB的运营条件,管控中央则是布局在ESBServer的Java Web应用,基于开采平台构建的。ESBDesigner是基于Eclipse Plugin开荒的图形化、拖拽式的铺排Web服务、新闻流程的塑造筑工程具。AEAI ESB首要功效及特点如下:

    • 根据开放规范,中度可扩张

      AEAI ESB的技巧架构及落实基于开放式标准,支持SOAP、WSDL等标准,基于开放式标准如:SOAP、JDBC、JMS、JavaWS、JavaMail、Http等,便于系统迁移以及现在扩大。

    • 帮忙集团级劳动质量

      帮衬的厂家级劳动质量,包罗音信安全、退步苏醒、状态检查判断、服务管理、服务审计及音讯可信赖传输、事务的完整性等,提供数据沟通进程和数据的追踪技术。

    • 提供数据格式转变职能

      提供图片可视化的异构数据格式转换映射工具,能够将数据从一种格式简便飞快地转换到另一种格式。输入数据和输出数据可进展分化格式间的转移,进而可飞速集成异构应用。

    • 支撑四种劳务/组件通讯情势

      辅助多种劳务/组件通信方式,如一道和异步等,顾客能够依据本身的急需,灵活定义通讯格局。

    • 提供对Web Service的完好帮衬

      既帮忙不一致外系统提供的Web 瑟维斯访谈、服务代办接入,又能够将现存业务应用封装成Web Service供复用。援助Web 瑟维斯常用标准协议,如SOAP、WSDL等,同期资助Web服务的编写及分裂粒度的服务封装,便于创制松耦合及可复用的面向服务架构

    • 监督与管理

      提供了基于浏览器的田间管控台,能够对监督节点、服务、组件及业务流程举行状态查询和监理处理。对监督检查、追踪和日志具备平台级的支持,还提供远程追踪调节和测量试验功效。

    • 支撑聚集管理及分布布局

      帮忙布满式应用及配置,开采的服务、组件及业务流程,可以布满式铺排到互联网上的多少个逻辑节点,达成分布式运算和使用,补助水平以及垂直扩展,满意质量扩充要求。扶助远程增量陈设,大大减弱安排费用。

    2  功效特色

      AEAI ESB作为数通畅联合公司团的公司应用集成产品,首要用于实现异构系统(如:分裂的数据库、音信中间件、ERP或CRM等)之间的能源整合,完毕互连互通、数据分享、业务流程协和统一等效能,创设灵活可扩展的遍及式集团应用。

      相比较传统的公司应用集成软件平台,AEAI ESB是三个簇新的契合SOA架构的应用服务整合平台,是凭借大批量合一实施经验不断完善、用于创设可治本、可增加及经济便捷的EAI技巧实施方案。

    新葡亰496net 2

    图1.基于AEAI ESB总线的集团应用集成方式

      AEAI ESB提供了从集团应用集成的宏图、开拓、部署,到运转、管理、监察和控制各样生命周期阶段的工具。它提供的图形化、拖拽式开辟格局,能够飞速创造可扩展分裂类别的数目(应用)集成流程,并圆满支持服务及劳动常用情势Web Service,简化了劳务的创立与包装,并能够使客商灵活地编排服务,以满足不断转换地职业须求和事务管理流程。

      AEAI ESB基于JavaEE类别创设,重要富含两个模块:服务器ESBServer、设计器ESBDesigner、管控主题。ESBServer是AEAI ESB的运作遇到,管控宗旨则是布署在ESBServer的Java Web应用,基于开辟平台创设的。ESBDesigner是基于Eclipse Plugin开荒的图形化、拖拽式的规划Web服务、新闻流程的营造筑工程具。AEAI ESB首要职能及特点如下:

    • 依据开放标准,高度可扩大

      AEAI ESB的本领架构及完结基于开放式标准,协助SOAP、WSDL等规范,基于开放式规范如:SOAP、JDBC、JMS、JavaWS、JavaMail、Http等,便于系统迁移以及以后扩充。

    • 支撑公司级服务品质

      援助的小卖部级服务质量,包罗音信安全、退步恢复生机、状态会诊、服务管理、服务审计及音信可信赖传输、事务的完整性等,提供数据调换进程和数目标追踪手艺。

    • 提供数据格式调换职能

      提供图片可视化的异构数据格式转变映射工具,能够将数据从一种格式简便飞速地调换来另一种格式。输入数据和输出数据可开展差别格式间的转换,进而可赶快集成异构应用。

    • 协助种种劳动/组件通信方式

      补助多样劳动/组件通信情势,如一道和异步等,客户能够遵守自身的须求,灵活定义通信格局。

    • 提供对Web Service的欧洲经济共同体援救

      既帮衬差异外系统提供的Web Service访谈、服务代办接入,又能够将长存工作使用封装成Web Service供复用。扶助Web Service常用标准左券,如SOAP、WSDL等,同临时候帮忙Web服务的编写制定及差别粒度的劳务封装,便于成立松耦合及可复用的面向服务架构

    • 监督检查与治本

      提供了依照浏览器的保管理调控制台,能够对监督检查节点、服务、组件及业务流程实行情形查询和督察管理。对监督、追踪和日志具备平台级的支持,还提供远程追踪调节和测验作用。

    • 支撑聚集管理及布满布局

      扶助分布式应用及布署,开辟的劳务、组件及业务流程,能够遍布式布置到网络上的多少个逻辑节点,达成布满式运算和应用,支持水平以及垂直扩充,知足品质增添供给。帮忙远程增量布置,大大收缩安顿成本。

    3. 意况新闻

    操作系统:Windows7

    Oracle:版本为oracle11g

    Mysql:版本为mysql5.1

    Jdk:  jdk1.6.0_10

    2. 预期读者

    • 数通畅联新职员和工人
    • 左近技巧爱好者

    3  数据规范

    3  数据规范

    4. 名词解释

    AEAI ESB:应用集成平台首要作为公司音讯种类的“龙骨”来集成各业务系统,一般称之为集团劳动总线(Enterprise Service BUS,ESB),在数通畅联软件的出品家族中利用集成平台命名叫AEAI ESB。

    AEAI DP:AEAI DP应用开采平台特意用于支付MIS类的Java Web应用,也称Miscdp(Misc Develope Platform)综合应用开拓平台。 AEAI DP应用开采平台在数通畅联软件出品家族中也视作扩大开辟的支持理工程师具,举例:为AEAI Portal门户平台增加开垦Portlet组件、Web Service和Http Service;为AEAI BPM流程集成平台扩张开辟工作流程表单及效果与利益等。

    仓库储存进程:大型数据库系统中,一组为了形成一定作用的SQL 语句集,存款和储蓄在数据库中,经过第贰回编写翻译后再行调用没有要求重新编写翻译,顾客通过点名存款和储蓄进度的名字并交给参数(假设该存款和储蓄进程带有参数)来推行它。

    UTL_HTTP:oracle中自带的HTTP合同工具包,可以用来发送post诉求。

    PL/SQL Developer:一个购并开采情状,由Allround Automations公司支付,特地面向Oracle数据仓库储存款和储蓄的先后单元的开发

    3. 情形音讯

    操作系统:Windows7

    Oracle: 版本为oracle11g

    Mysql:版本为mysql5.1

    Jdk:  jdk1.6.0_10

    3.1  消息征集标准

      数据总线平台的建设与运用并不是是不爱惜职业,数据的随便流通。数据交流需求专门的学业业务种类间交流的习性。音讯搜聚标准正是指标准工作种类数据采撷调换的秘技、频率、加工攻略等标准。比方:哪些职业体系的如何数据要促成实时调换、哪些是接触交流;搜集的数量是全量、增量依然遵照某个准则实行交流;是透过数据库搜罗、文件采撷或然服务赢得等。

    3.1  音信征集标准

      数据总线平台的建设与利用并不是是不关心业务,数据的随机流通。数据交换须求标准工作系统间调换的性质。新闻征集标准就是指标准业务系统数据采撷调换的办法、频率、加工战略等规范。比如:哪些事情系统的什么数据要落到实处实时沟通、哪些是触发调换;收集的多寡是全量、增量照旧依靠一些标准进行置换;是经过数据库收罗、文件搜集只怕服务获得等。

    5. 操作步骤

    4. 名词解释

    AEAI ESB:应用集成平台首要作为集团新闻类其余“龙骨”来集成各业务系统,一般称之为集团劳动总线(Enterprise Service BUS,ESB),在数通畅联软件的出品家族中利用集成平台命名称为AEAI ESB。

    AEAI DP:AEAI DP应用开荒平台专门用于支付MIS类的Java Web应用,也称Miscdp(Misc Develope Platform)综合应用开采平台。 AEAI DP应用开垦平台在数通畅联软件出品家族中也当作扩张开拓的协理理工科程师具,举例:为AEAI Portal门户平台扩充开采Portlet组件、Web Service和Http Service;为AEAI BPM流程集成平台扩张开采职业流程表单及效果与利益等。

    积攒进度:大型数据库系统中,一组为了产生一定成效的SQL 语句集,存款和储蓄在数据库中,经过第壹次编译后再一次调用无需重新编写翻译,客户通过点名存款和储蓄进度的名字并交由参数(若是该存储进度带有参数)来实行它。

    UTL_HTTP:oracle中自带的HTTP公约工具包,能够用来发送post诉求。

    PL/SQL Developer:二个合併开辟情形,由Allround Automations集团成本,特地面向Oracle数据仓库储存款和储蓄的顺序单元的开拓

    3.2  数据内容专门的学问

      数据内容专门的学业指数据沟通进度中多少洗涤、调换的正儿八经。要制定重复数据的标准化、数据转变的标准化、洗刷的准绳、共享的方式。比如:区别单位的事务系统也许存在对某段同样语义的叙说音讯,然则因职业系统开采商区别形成其消息囤积的格式和剧情会有分别,再别的职业系统须求那条数据的时候,此数量应该从哪些业务连串获得,也许是获收取来进行比对、解析、管理现在再调换成任何事情体系。

    3.2  数据内容专门的学问

      数据内容专门的学问指数据沟通进程中多少洗刷、转变的科班。要制定重复数据的标准、数据转变的标准、洗涤的准绳、分享的不二秘诀。例如:差别单位的事务种类或许存在对某段一样语义的陈说音信,不过因业务系统开荒商不一样变成其音讯存款和储蓄的格式和内容会有分别,再其余专门的学问种类须求那条数据的时候,此数据应该从哪个业务系统获得,大概是获得出来实行比对、深入分析、管理今后再交流到其余工作系统。

    5.1 成立样例接口

      使用AEAI DP开荒平台,创立自带WS服务的选拔,如下图:

     新葡亰496net 3

      采取数据库音讯

    新葡亰496net 4

      陈设应用后,查看刚刚成立的使用自带的WS服务

    新葡亰496net 5

     

    5. 操作步骤

    3.3  数据爱护规范

      数据沟通的必要可能是各式各样,包括目前的要求和长久的须要。短期需求可能是创建综合数据库、数据大旨或是把A系统业务库中的数据长时间交流到B系统的业务库中,因而须求制订数据爱惜的正规化,定义差异系统的例外工作数据选用数据爱慕的方法。

      比方:财务系统业务数据要保留交换的野史数据,且使用时间戳的措施增量维护;OA系统业务数据仅保留四个月的多少,且使用触发器的不二等秘书技术交易换;人力财富业务数据利用主动到数量源端抓取业务数据的方法保险本身业务数据等等。

    3.3  数据珍爱规范

      数据交流的须要恐怕是有滋有味,包含权且的急需和持久的要求。长时间须要只怕是树立综合数据库、数据主导或是把A系统业务库中的数据长期沟通到B系统的业务库中,因而供给制订数据爱戴的正经,定义不一致系统的分裂专门的工作数据利用数据敬服的主意。

      举例:财务系统专业数据要封存交流的野史数据,且使用时间戳的方法增量维护;OA系统业务数据仅保留八个月的数目,且使用触发器的办法交流;人力能源业务数据选择主动到多少源端抓取业务数据的主意珍贵自个儿专门的学问数据等等。

    5.2 成立存款和储蓄过程

    5.1 创设样例接口

      使用AEAI DP开辟平台,创立自带WS服务的施用,如下图:

     新葡亰496net 6

      采用数据库音讯

      布署应用后,查看刚刚成立的利用自带的WS服务

     

    4  标准标准

    4  标准标准

    5.2.1 基本语法

      以下为开创存款和储蓄进程的大旨语法

    CREATE OR REPLACE PROCEDURE存储过程名 ( --定义参数 )

    IS

    定义变量

    BEGIN

    开始PL/SQL体

    END

    说明PL/SQL体结束

    5.2 创设存款和储蓄进程

    4.1  集成开采标准

    1. 创立工程依照集成要求业务开展分割,格式为“公司名” “产品” ”业务名”,比如:AeaiESBHr、AeaiESBCrm
    2. 工程下的目录依据劳动提供方(系统)实行剪切,若是独有平等的劳务提供方,也必要创立目录举行划分;
    3. 流程名接纳匈牙利(Magyarország)命名法(在多少个字母联合的时候,首字母大写,如H牧马人系统提供数据到山头:H瑞虎DataToPortal),编码长度无法超过十多个字母;
    4. 具有的音讯流程填写汉语小名和陈说,描述必须要写清楚具体意思。
    5. ESB集成项目主包名:com.agileai.esb;
    6. 国有代码间接放在com.agileai. esb目录下,别的代码应用ESB默许生成的包名以及类名。

    4.1  集成开拓规范

    1. 始建筑工程程遵照集成要求业务拓宽剪切,格式为“公司名” “产品” ”业务名”,举个例子:AeaiESBHr、AeaiESBCrm
    2. 工程下的目录依据劳动提供方(系统)进行分割,如果唯有同等的劳动提供方,也要求创建目录进行剪切;
    3. 流程名选择匈牙利(Hungary)命名法(在多少个字母联合的时候,首字母大写,如H兰德宝马7系系统提供数据到山头:H宝马X3DataToPortal),编码长度不可能超过18个假名;
    4. 有着的新闻流程填写汉语小名和陈说,描述必须要写清楚具体意思。
    5. ESB集成项目主包名:com.agileai.esb;
    6. 国有代码直接放在com.agileai. esb目录下,其余代码应用ESB默许生成的包名以及类名。

    5.2.2 创制步骤

    1、展开PL/SQL,并开发三个sql窗口

    新葡亰496net 7

     2、将开创存款和储蓄进程的讲话归入当中并施行

     新葡亰496net 8

      那样贰个调用web service的积存进度样例就创办了,以下为详细的样例sql体

    --创建存储过程,定义四个参数,入参:userid,code,name;出参:resmark

    CREATE OR REPLACE PROCEDURE pro_test_ws(name in varchar2,resmark out varchar2) IS

    --定义四个变量,http请求,http返回,请求报文,返回报文

      http_req    UTL_HTTP.REQ;

      http_Resp   UTL_HTTP.RESP;

      request_env VARCHAR2(32767);

      l_Replyline VARCHAR2(1000);

    BEGIN

    --开始pl/sql体

      request_env := '

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:demo="http://demo.service.wstest.agileai.com/">

       <soapenv:Header/>

       <soapenv:Body>

          <demo:sayHi>

             <!--Optional:-->

             <theGirlName>'|| name ||'</theGirlName>

          </demo:sayHi>

       </soapenv:Body>

    </soapenv:Envelope>

    ';

    --打印请求报文

    dbms_output.put_line(request_env);

    --请求WS地址

      http_req    := UTL_HTTP.

                     begin_request('http://localhost:6060/cam/services/UserSync?wsdl',

                                   'POST',

                                   UTL_HTTP.http_version_1_1);

    -- 保持连接状态

          Utl_Http.Set_Persistent_Conn_Support(http_req, TRUE);

    --设置编码

          Utl_Http.Set_Header(http_req, 'Content-Type', 'text/xml;charset=utf-8');

          

          Utl_Http.Set_Header(http_req, 'SOAPAction', '');

    --设置字符集

          Utl_Http.Set_Body_Charset(http_req, 'utf-8');

    --该参数代表我发送的POST报文多长,不可少

          Utl_Http.Set_Header(http_req, 'Content-Length', Lengthb(request_env));

          Utl_Http.Write_Line(http_req, request_env);

    --赋值http返回

          http_Resp := Utl_Http.Get_Response(http_req);

    --将请求报文赋值给 l_Replyline

          Utl_Http.Read_Text(http_Resp, l_Replyline);

          dbms_output.put_line(l_Replyline);

    --付给存储过程出参

    resmark:=l_Replyline;

    END pro_test_ws;

    5.2.1 基本语法

      以下为开创存款和储蓄进度的中央语法

    CREATE OR REPLACE PROCEDURE存储过程名 ( --定义参数 )

    IS

    定义变量

    BEGIN

    开始PL/SQL体

    END

    说明PL/SQL体结束

    4.2  WEB服务专门的职业

      应用/数据接口以WebService情势进行公布,选用Http通信公约举行联合报纸发表,AEAI ESB服务代办协助SOAP 1.1、SOAP 1.2访谈公约,AEAI ESB的支付Web服务私下认可支持SOAP1.1,对于Web服务报文消息字段须要如下:

    1. 各字段若无特别表明均为字符串型;
    2. 日子字段暗中认可格式为“yyyy-MM-dd”,如:二〇一五-05-14;
    3. 时光字段私下认可格式为“HH:mm:ss”,如16:25:16;
    4. 报文头音讯有所暗中认可结构,允许自定义报文头。

      不论是在AEAI ESB中登记的劳动代办照旧AEAI ESB中宣告的服务都援救:客户、密码验证以及扩展认证方式,同时提供劳动监察和控制、服务调用总结成效,同不经常间补助职业日志。

    4.2  WEB服务标准

      应用/数据接口以WebService格局举行表露,采纳Http通信左券举办联合报纸发表,AEAI ESB服务代办援助SOAP 1.1、SOAP 1.2拜谒合同,AEAI ESB的付出Web服务默许扶助SOAP1.1,对于Web服务报文消息字段须求如下:

    1. 各字段若无非常表明均为字符串型;
    2. 日子字段暗中认可格式为“yyyy-MM-dd”,如:二零一六-05-14;
    3. 时间字段默许格式为“HH:mm:ss”,如16:25:16;
    4. 报文头消息具备私下认可结构,允许自定义报文头。

      不论是在AEAI ESB中登记的劳务代办照旧AEAI ESB中揭橥的劳动都帮助:顾客、密码验证以及扩充认证方式,同期提供服务监察和控制、服务调用总结作用,同相当间协助专门的学业日志。

    5.2.3 关键点表明

      在蕴藏进程中,使用UTL_HTTP工具包调用web服务时,多少个第一办法的行使验证

    1. 经过设置须求地址、形式、合同版本,得到http诉求对象

    http_req    := UTL_HTTP.

                     begin_request(' http://localhost:6060/wstest_project/services/HelloWorld?wsdl ',

                                   'POST',

                                   UTL_HTTP.http_version_1_1);

    2. 设置公约保持延续情形

    Utl_Http.Set_Persistent_Conn_Support(http_req, TRUE);

    3. 安装央求编码,SOAPAction header的值为空白("")表示SOAP信息的指标地由HTTP央浼的UPRADOI标志;无值则意味着从未点名那条新闻的目标地。

    Utl_Http.Set_Header(http_req, 'Content-Type', 'text/xml;charset=utf-8');

    Utl_Http.Set_Header(http_req, 'SOAPAction', '');

    4. 设置字符集

    Utl_Http.Set_Body_Charset(http_req, 'utf-8');

    5. 报文长度

    Utl_Http.Set_Header(http_req, 'Content-Length', Lengthb(request_env));

    6. 调用服务,发送报文

    Utl_Http.Write_Line(http_req, request_env);

    7. 得到重返体

    http_Resp := Utl_Http.Get_Response(http_req);

    8. 将再次来到报文赋值给变量

    Utl_Http.Read_Text(http_Resp, l_Replyline);

    5.2.2 创立步骤

    1、张开PL/SQL,并开荒二个sql窗口

     2、将创设存款和储蓄进度的言语放入个中并实行

     新葡亰496net 9

      那样多个调用web service的仓库储存进程样例就创设了,以下为详细的样例sql体

    --创建存储过程,定义四个参数,入参:userid,code,name;出参:resmark

    CREATE OR REPLACE PROCEDURE pro_test_ws(name in varchar2,resmark out varchar2) IS

    --定义四个变量,http请求,http返回,请求报文,返回报文

      http_req    UTL_HTTP.REQ;

      http_Resp   UTL_HTTP.RESP;

      request_env VARCHAR2(32767);

      l_Replyline VARCHAR2(1000);

    BEGIN

    --开始pl/sql体

      request_env := '

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:demo="http://demo.service.wstest.agileai.com/">

       <soapenv:Header/>

       <soapenv:Body>

          <demo:sayHi>

             <!--Optional:-->

             <theGirlName>'|| name ||'</theGirlName>

          </demo:sayHi>

       </soapenv:Body>

    </soapenv:Envelope>

    ';

    --打印请求报文

    dbms_output.put_line(request_env);

    --请求WS地址

      http_req    := UTL_HTTP.

                     begin_request('http://localhost:6060/cam/services/UserSync?wsdl',

                                   'POST',

                                   UTL_HTTP.http_version_1_1);

    -- 保持连接状态

          Utl_Http.Set_Persistent_Conn_Support(http_req, TRUE);

    --设置编码

          Utl_Http.Set_Header(http_req, 'Content-Type', 'text/xml;charset=utf-8');

          

          Utl_Http.Set_Header(http_req, 'SOAPAction', '');

    --设置字符集

          Utl_Http.Set_Body_Charset(http_req, 'utf-8');

    --该参数代表我发送的POST报文多长,不可少

          Utl_Http.Set_Header(http_req, 'Content-Length', Lengthb(request_env));

          Utl_Http.Write_Line(http_req, request_env);

    --赋值http返回

          http_Resp := Utl_Http.Get_Response(http_req);

    --将请求报文赋值给 l_Replyline

          Utl_Http.Read_Text(http_Resp, l_Replyline);

          dbms_output.put_line(l_Replyline);

    --付给存储过程出参

    resmark:=l_Replyline;

    END pro_test_ws;

    4.3     AEAI ESB开垦标准

      本项目中在AEAI ESB中付出的服务重大为Web Service、Http、Timer两种方法的劳务,各单位内部及下属各单位的专门的学问体系既有的Web服务,在AEAI ESB中登记服务代办格局,AEAI ESB提供新闻转载、服务监察和控制、服务总结、以及劳动认证和事务日志成效。

    4.3     AEAI ESB开垦标准

      本项目中在AEAI ESB中支出的劳务器重为Web Service、Http、Timer两种办法的劳动,各单位内部及下属各单位的职业类别既有的Web服务,在AEAI ESB中登记服务代办情势,AEAI ESB提供新闻转载、服务监督、服务总结、以及劳动认证和业务日志功效。

    5.3 调用存款和储蓄进程

    5.2.3 关键点表明

      在存款和储蓄进程中,使用UTL_HTTP工具包调用web服务时,多少个重大措施的行使验证

    1. 通过安装必要地址、方式、公约版本,获得http要求对象

    http_req    := UTL_HTTP.

                     begin_request(' http://localhost:6060/wstest_project/services/HelloWorld?wsdl ',

                                   'POST',

                                   UTL_HTTP.http_version_1_1);

    2. 装置公约保持接二连三情况

    Utl_Http.Set_Persistent_Conn_Support(http_req, TRUE);

    3. 设置乞请编码,SOAPAction header的值为空白("")表示SOAP音信的指标地由HTTP央求的UEvoqueI标记;无值则意味不曾点名那条音信的目标地。

    Utl_Http.Set_Header(http_req, 'Content-Type', 'text/xml;charset=utf-8');

    Utl_Http.Set_Header(http_req, 'SOAPAction', '');

    4. 装置字符集

    Utl_Http.Set_Body_Charset(http_req, 'utf-8');

    5. 报文长度

    Utl_Http.Set_Header(http_req, 'Content-Length', Lengthb(request_env));

    6. 调用服务,发送报文

    Utl_Http.Write_Line(http_req, request_env);

    7. 获得重回体

    http_Resp := Utl_Http.Get_Response(http_req);

    8. 将回到报文赋值给变量

    Utl_Http.Read_Text(http_Resp, l_Replyline);

    4.3.1  服务代办注册

    先是,登入ESB管理调整台

    新葡亰496net 10

    挑选必要丰裕服务代办的工程,选择服务代办标签

    新葡亰496net 11

    点击新扩充,进行WEB服务登记代理

    新葡亰496net 12

    将索要开展代理的服务U本田UR-VL加多到对应地方(1),点击解析开关进行劳动代办注册(2),加多认证项目(无验证,客户密码,扩充流程)(3),加多是不是启用业务日志(4)

    新葡亰496net 13

    在提供的ws服务中,service的name须求通过专门的学问功能来定名,不能够重新

    <wsdl:service name="XXX">

    <wsdl:port name="erp_ryzw_receivePort" binding="tns:ErpRyzwReceiveServiceSoapBinding">

    <soap:address location="http://localhost:9090/AEAIESB/wsproxies/XXX"/>

    </wsdl:port>

    </wsdl:service>

    4.3.1  服务代办注册

    率先,登入ESB管控台

    新葡亰496net 14

    选用要求加上服务代办的工程,选择服务代办标签

    新葡亰496net 15

    新葡亰496netORACLE存储过程调用Web,oracle存储过程。点击新添,进行WEB服务注册代理

    新葡亰496net 16

    将须求实行代理的劳动UENVISIONL增添到对应地方(1),点击深入分析开关实行劳动代办注册(2),加多认证项目(无表明,客商密码,扩张流程)(3),加多是不是启用业务日志(4)

    新葡亰496net 17

    在提供的ws服务中,service的name必要经过业务职能来定名,不可能再一次

    <wsdl:service name="XXX">

    <wsdl:port name="erp_ryzw_receivePort" binding="tns:ErpRyzwReceiveServiceSoapBinding">

    <soap:address location="http://localhost:9090/AEAIESB/wsproxies/XXX"/>

    </wsdl:port>

    </wsdl:service>

    5.3.1 使用PL/SQL Developer测试

    1) 选中存款和储蓄进度的名字,右键选择测量检验,踏向测验页面

    新葡亰496net 18

     

    2) 增加响应的参数值,F9恐怕点击按键伊始实行,推行后得以赢得看到再次回到值

    新葡亰496net 19

     

    3) 切换到DBMS输出页面,可以看看打字与印刷的开始和结果

    新葡亰496net 20

    5.3 调用存款和储蓄进度

    4.3.2  开发WEB服务

      对于既有连串不能够提供Web服务接口的运用系列,且必要Web服务措施来集成,可能需求对既有的Web服务完毕劳务编排重组,可以在AEAI ESB开辟Web服务。

    1. 借使提到到多少读取,供给对应系统管理员提供提供数据视图、字段表明、以及数据库连接方式;
    2. 假定涉及到数码写入,必要对应系统管理员提供中间表以及存款和储蓄进度,ESB理论上不直接访谈实际的业务表;
    3. 万一波及到劳动编排,须要对应系统管理员提供Web服务的SOAP调用样例,乞求和响应参数说明。

    4.3.2  开发WEB服务

      对于既有体系不可能提供Web服务接口的施用系统,且须求Web服务章程来集成,也许供给对既有的Web服务完成服务编排重组,能够在AEAI ESB开荒Web服务。

    1. 假如涉嫌到数码读取,必要对应系统管理员提供提供数据视图、字段表明、以及数据库连接格局;
    2. 万一提到到数量写入,必要对应系统管理员提供中间表以及存款和储蓄进程,ESB理论上不直接待上访谈实际的业务表;
    3. 尽管涉及到劳动编排,须求对应系统一管理理员提供Web服务的SOAP调用样例,央求和响应参数表达。

    5.3.2 使用sql代码调用

    DECLARE

    resmark varchar2(1000);

    BEGIN

      pro_test_ws(''小郑',resmark);

      DBMS_OUTPUT.PUT_LINE(resmark);

    END;

    1) 展开sql窗口,实施下面的sql语句

    新葡亰496net 21

    2) 查看输出音讯

    新葡亰496net 22

      1处为存款和储蓄进程打字与印刷的音信,2为调用时打字与印刷输出的消息

    5.3.1 使用PL/SQL Developer测试

    1) 选中蕴藏过程的名字,右键选拔测量检验,进入测量检验页面

     

    2) 增加响应的参数值,F9或然点击开关开首施行,施行后得以获得看到重返值

    新葡亰496net 23

     

    3) 切换来DBMS输出页面,能够看来打字与印刷的源委

    4.3.3  开发HTTP服务

      依据服务提供方提供的数据库交互格局(视图查询、存款和储蓄过程)举行Http流程的支付

    1. 提供数据库连接音信,如账号密码及地址等(Oracle数据库还索要提供SID),登入ESB管控台对数据库能源扩充挂号管理;

    新葡亰496net 24

    1. 劳务提供方需提供仓库储存进度或有关的询问SQL语句;
    2. Http流程的再次来到值为JSON只怕XML格式(须求就实在业务开展选拔),调用方自行剖析。

    4.3.3  开发HTTP服务

      按照劳动提供方提供的数据库交互方式(视图查询、存款和储蓄进度)进行Http流程的开支

    1. 提供数据库连接音信,如账号密码及地方等(Oracle数据库还必要提供SID),登入ESB管控台对数据库能源开展挂号管理;

    新葡亰496net 25

    1. 服务提供方需提供仓库储存进程或相关的查询SQL语句;
    2. Http流程的再次来到值为JSON可能XML格式(须求就实际上中国人民解放军海军事工业程大学业作打开抉择),调用方自行深入分析。

    6. 计算表达

      本文介绍了在oracle存款和储蓄进度中,使用UTL_HTTP工具包,通过创制央求报文以及采用HTTP公约来调用Web Service,从创设oracle存储进程以及UTL_HTTP相关参数的布局,到通过PL/SQL Developer测量试验调用以及sql代码进行调用来详细表明。

      附属类小部件为存款和储蓄进度创制sql、调用sql以及接口程序和相关的数据库文件。

    5.3.2 使用sql代码调用

    DECLARE

    resmark varchar2(1000);

    BEGIN

      pro_test_ws(''小郑',resmark);

      DBMS_OUTPUT.PUT_LINE(resmark);

    END;

    1) 展开sql窗口,实行上边的sql语句

    新葡亰496net 26

    2) 查看输出音信

      1处为存款和储蓄进程打字与印刷的音讯,2为调用时打字与印刷输出的音信

    4.3.4  开发Timer服务

      遵照当前的轮询方式,在AEAI ESB上退换为Timer流程:

    1. 服务系统管理员提供当前的轮询计谋(定期、间隔、自定义);
    2. 提供数据库连接音讯,如账号密码及地方等(Oracle数据库还要求提供SID),登录ESB管控台对数据库财富开展挂号管理;
    3. 提供查询全量数据大概增量数据,查询增量数据时的基准;

    4.3.4  开发Timer服务

      依据当下的轮询格局,在AEAI ESB上改换为Timer流程:

    1. 劳务系统管理员提供当前的轮询攻略(按时、间隔、自定义);
    2. 提供数据库连接音信,如账号密码及地方等(Oracle数据库还索要提供SID),登录ESB管理调控台对数据库财富拓宽挂号管理;
    3. 提供查询全量数据依旧增量数据,查询增量数据时的标准;

    7. 相关链接

    AEAI DP开辟平台/ AEAI ESB集成平台相关介质以及文书档案资料地址:

     

    文书档案及代码附属类小部件下载:http://pan.baidu.com/s/1kVyMVQn

     

    6. 总计表达

      本文介绍了在oracle存款和储蓄过程中,使用UTL_HTTP工具包,通过创造央浼报文以及利用HTTP左券来调用Web Service,从创建oracle存款和储蓄进度以及UTL_HTTP相关参数的布局,到通过PL/SQL Developer测量试验调用以及sql代码举行调用来详细表达。

      附属类小部件为存款和储蓄进度创造sql、调用sql以及接口程序和连锁的数据库文件。

    4.4  AEAI ESB测量检验规范

    4.4  AEAI ESB测量检验标准

    7. 相关链接

    AEAI DP开辟平台/ AEAI ESB集成平台相关介质以及文档资料地址:

     

    文书档案及代码附属类小部件下载

     

    Service,oracle存款和储蓄进度 1. 概述 方今在 ESB 项目中,客商在各类系统之间的劳动调用大多都以在 oracle 存款和储蓄进程中开展的...

    4.4.1  单元测验

      单元测验由流程开采者本身来形成,单元测量检验是对成功一条流程后的最主旨检查,重假若用来检查评定逻辑否准确,程序代码是不是科学, 组件节点命名是不是遵守法则,实例准确生成、以及字段和变量的拼写错误,还富含所援用能源是或不是能够等细节。

      单元测量试验的依据是测验规格表明书,单元测量检验的目标是对流程功效基本注解,该测量检验用来分明实行结果否符合预期,单元自测以不断实行3次均成功方验证为打响。

    4.4.1  单元测量试验

      单元测量试验由流程开垦者本人来产生,单元测验是对成就一条流程后的最中央检查,主若是用来检查测量试验逻辑否准确,程序代码是还是不是准确, 组件节点命名是不是比照准绳,实例正确生成、以及字段和变量的拼写错误,还饱含所引用能源是还是不是足以等细节。

      单元测验的基于是测验规格表达书,单元测量检验的目标是对流程成效宗旨注脚,该测量检验用来鲜明施行结果否符合预期,单元自测以不断进行3次均成功方验证为打响。

    4.4.2  结对互测

      当局者迷,阅览清。多个开采职员具有同样的欠缺和盲可能性比十分小,当使用结对互测验的时候会博得叁个强有力施工方案,能更加快的发现并缓慢解决难点。结对互测正确的话是一个测量试验方法,实际不是里面包车型客车切实环节。

      结对互测是指五个流程开辟职员相测验对方的流程,结对互测的基础已成功开采人士已成功单元测验。

    4.4.2  结对互测

      当局者迷,观看清。八个开荒人士拥有同样的毛病和盲恐怕性非常小,当使用结对互测验的时候会赢得贰个强硬技术方案,能更加快的意识并缓慢解决难点。结对互测正确的话是三个测验方法,并不是内部的现实环节。

    新葡亰496net,  结对互测是指四个流程开辟人士相测量检验对方的流程,结对互测的根底已成功开辟人士已成功单元测量试验。

    4.4.3  集成测验

      大好多流水线之间不是单身的,而有关联。五个流程的实施才是真实的逻辑业务, 所以在有流程实现单元测验后,要求依据业务子系统对五个流程进行贯通的合龙测量检验,用来开采执时是或不是足以满意实际职业的须要。

      集成测验可以依附实际业务模块只怕子系统,来分别独立实行。集成测量检验用来开掘多个流程合营推行时发生的私人民居房难点,那其间包涵流程数据业务一致性和安静等。

    4.4.3  集成测量试验

      大许多流程之间不是独自的,而有关联。七个流程的施行才是忠实的逻辑业务, 所以在有流程实现单元测量检验后,须要依照业务子系统对多少个流程张开贯通的并轨测验,用来开掘执时是或不是能够满意实际职业的内需。

      集成测量试验能够依附实际业务模块或许子系统,来分别独立张开。集成测量试验用来开采八个流程合营实施时发生的隐私难题,那之中囊括流程数据业务一致性和安静等。

    4.4.4  业务联测

      业务模拟测量检验时在合龙之后进行的,当各类子系统的相应流程张开了集成 测验并透过后,能够打开总种类统的事情模拟测量检验。日常业务联测必要业务人士的涉企和合作,在系统试运作前期进行。

      业务模拟测量检验是装有流程的总体,各样被集成子系统和数据库都是常规模 拟数据开展测量检验。此时AEAI ESB集成平台对顾客来讲是晶莹的,全部数据都经过业务职员在独家系统上扩充效仿操作获取 。

    新葡亰496netORACLE存储过程调用Web,oracle存储过程。4.4.4  业务联测

      业务模拟测量试验时在合龙之后举行的,当各类子系统的对应流程实行了集成 测量检验并透过后,能够拓宽一体化种类的事务模拟测量试验。常常业务联测须求业务人士的涉企和协作,在系统试运作开始的一段时期举办。

      业务模拟测验是具有流程的总体,各种被集成子系统和数据库都是健康模 拟数据举行测验。此时AEAI ESB集成平台对客户来讲是透明的,全部数据都经过业务职员在分级系统上拓宽效仿操作获取 。

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496netORACLE存储过程调用Web,oracle存储过程

    关键词: