Oracle EBS如何与第三方系统相集成?比如这样的需求,X系统知道物料编码,需要从EBS系统里读取具体物料信息,或者X系统想把自己的人员信息同步到EBS,这类集成问题你就可能需要用到Oracle EBS Integrated SOA Gateway。
Integrated SOA Gateway是EBS里的一个职责,分配给用户后就能看到 ,进入职责(如下图)后,就能看到所有Oracle EBS可以(只是可以,真正放开需要发布和部署的动作)对外开发的接口。
(当然如果这些系统自带接口还不能满足你的集成需求的话,那么你就需要自定义客户化接口了)
首先分享一些收集到的文档,后续有需要可以再详细阅读:
Oracle® Integration Repository User's Guide
Oracle E-Business Suite Integrated SOA Gateway User's Guide
Oracle E-Business Suite Integrated SOA Gateway Implementation Guide R12.1
Oracle E-Business Suite Integrated SOA Gateway Developer's Guide
20 Minute Guide to Oracle Integration Repository
Enable Oracle E-Business Suite Integrated SOA Gateway
Oracle Integration Repository
Oracle Application Server Adapters for Files, FTP, Databases, and Enterprise Messaging User's Guide
Securing E-Business Suite Web Services with Integrated SOA Gateway
Enable Oracle E-Business Suite Integrated SOA Gateway
要使用Integrated SOA Gateway,首先要打一些补丁,具体方法可以参见Note 556540.1 或者 我的另一篇文章。
普通的用户只能查看EBS的接口信息,但并不能发布接口,以及部署,只有sysadmin账户有这个权限。(注:默认情况下,绝大多数的接口是没有发布及部署的,只有需要sysadmin发布后,第三方系统才能调用。)
如果不想使用sysadmin这个账户来管理接口,那么就要给目标用户分配三个角色,才能做sysadmin同样的事情,这三个角色是:
* Irep Administrator(中文:Irep 管理员)
* System Integration Developer(中文:系统集成开发员)
* System Integration Analyst(中文:系统集成分析专家)
每一个角色都有着对接口库不同的权限,如下图
sysadmin默认是具有上述三个角色的,所以不需要特别设置。其他用户就需要设置了,如何给用户分配角色可以参见Note:861982.1
Interfaces
接下来会以系统默认提供的一个接口为例,演示一下,如何放开接口,允许外部程序调用的一个过程。
以sysadmin账户登录,然后路径:Integrated SOA Gateway > Supply Chain Management > Inventory > Inventory Organization Setup,可以看到两个接口,其中的一个叫Locator Maintenance API,这个接口允许用户创建,修改,删除Locator。
(如果接口的Internal Name为User_XXX_XXX的话,比如USER_PKG_LOT,USER_PKG_SERIAL,表示这个接口是需要用户自定义接口,需要自己实现后台的业务处理逻辑)
再点进去就能看到接口的详细信息。你能看到这个接口是一个PL/SQL接口,后台对应的Package叫INV_LOC_WMS_PUB,这个接口包含四个Locator处理的方法。如果你有兴趣,你可以打开INV_LOC_WMS_PUB这个Package,就能看到具体的实现逻辑。
每一个方法能点进去,就是这个接口方法的描述以及接口参数。
生成WSDL
这里需要把PL/SQL的Package以Webservice方式发布,就需要把这个接口生成WSDL。(如何你自己的客户化PL/SQL注册到Integrated SOA Gateway,见这篇文章)
WSDL: Web服务定义语言(Web Service Definition Language),用来定义服务接口。实际上,它能描述服务的两个不同方面:服务的签名(名字和参数),以及服务的绑定和部署细节(协议和位置)。
WSDL生成后,Web Service Status就变成了'Generated'。并且你可以查看WSDL
‘View WSDL‘就能看到WSDL信息
Deploy Webservice
生成了WSDL后,外部系统还不能调用它,你需要把生成的WSDL部署到应用服务器上,这一步还会安装一些必要的Webservice文件到应用服务器上。这里需要对Webservice的安全类型做一个勾选:Username Token、SAML Token。
关于这两个安全类型,可以详细阅读下Securing E-Business Suite Web Services with Integrated SOA Gateway ,里边有详细的解释。
Create Grant
部署完后,Webservice状态变为了Deployed。这之后还有一步- 授权,你是希望所有用户都能访问接口,还是只是特定用户。
Test Web service
WSDL的地址是http://[host]:[port]/webservices/SOAProvider/plsql/inv_loc_wms_pub/?wsdl
那么Oracle自带测试web service的地址是上边WSDL的地址,但是去掉'?wsdl' (主要不要去掉斜杠/,否则会报No WebService Provider is registered at this URL)
http://[host]:[port]/webservices/SOAProvider/plsql/inv_loc_wms_pub/
Invoke后,就把HTML表单上的信息组成Soap报文,发送到应用服务器,服务器会把返回信息也以Soap报文的形式返回给客户端。
下为SOAP请求报文样例:
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
- <soap:Header xmlns:ns1="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/">
- <ns1:SOAHeader>
- <ns1:Responsibility>INVENTORY</ns1:Responsibility>
- <ns1:RespApplication>CUX</ns1:RespApplication>
- <ns1:SecurityGroup>STANDARD</ns1:SecurityGroup>
- <ns1:NLSLanguage>SIMPLIFIED CHINESE</ns1:NLSLanguage>
- <ns1:Org_Id>0</ns1:Org_Id>
- </ns1:SOAHeader>
- <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" soap:mustUnderstand="1">
- <wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
- <wsse:Username>ESB_TEST</wsse:Username>
- <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">1234567890</wsse:Password>
- </wsse:UsernameToken>
- </wsse:Security>
- </soap:Header>
- <soap:Body xmlns:ns2="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/invokews/">
- <ns2:InputParameters>
- <ns2:P_IFACE_CODE>XXX</ns2:P_IFACE_CODE>
- <ns2:P_BATCH_NUMBER>1234567654323</ns2:P_BATCH_NUMBER>
- <ns2:P_REQUEST_DATA>32424</ns2:P_REQUEST_DATA>
- </ns2:InputParameters>
- </soap:Body>
- </soap:Envelope>
(请求报文头中的Responsibility,RespApplication,SecurityGroup,NLSLanguage,Org_Id节点都是Oracle EBS系统要求的SOAP头信息,用于账户验证)
SOAP响应报文样例:
- <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
- <env:Header/>
- <env:Body>
- <OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/invokews/">
- <X_RETURN_CODE xmlns="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/invokefmsws/">ERROR001</X_RETURN_CODE>
- <X_RETURN_MESG xmlns="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/invokefmsws/">输入的请求报文格式不正确</X_RETURN_MESG>
- <X_RESPONSE_DATA xsi:nil="true" xmlns="http://xmlns.oracle.com/apps/cux/soaprovider/plsql/cux_0_ws_server_prg/invokews/"/>
- </OutputParameters>
- </env:Body>
- </env:Envelope>
除了这个标准的测试方法外,也可以使用SoapUI这样的专业工具来测试Webservice,见这篇文章。
SOA Monitor
可以在SOA Monitor中监视客户端调用EBS的Webservice的执行的效果。
路径:Integrated SOA Gateway –> SOA Monitor
如果调用失败,可以从详细信息或者日志里查看具体内容。
转载请注明出处:http://blog.csdn.net/pan_tian/article/details/10159935
相关推荐
几年前就经帯在网上看到戒者在一些讲座中听到,但自己真正比较“近距离”接触“SOA”,还是在去年的“中国IT精英年会”上,当时IBM大中华区的老总大谈IBM 的SOA,BEA公司(当时还没被Oracle 收购)也讲了很多SOA的案例,SAP...
### Oracle E-Business Suite (EBS) Integrated SOA Gateway 用户指南关键知识点 #### 一、概述 Oracle E-Business Suite (EBS) Integrated SOA Gateway 是一个强大的集成平台,它为 Oracle EBS 提供了一个与外部...
Oracle EBS(Oracle Enterprise Business Suite)是Oracle公司推出的一套全面的企业级应用套件,它集成了财务、供应链、人力资源、项目管理等多个业务模块,旨在帮助企业实现高效的运营管理。本操作手册将详细介绍...
Oracle EBS(Oracle Enterprise Business Suite)是一款全面的企业资源规划(ERP)软件,它集成了财务、供应链、人力资源、项目管理等多个业务领域,为企业提供了一体化的解决方案。在Oracle EBS中,R11和R12是两个...
ORACLE EBS R12 安装步骤详解 ORACLE EBS R12 安装步骤详解是 Oracle E-Business Suite 的安装指南,涵盖了从系统环境准备到 ORACLE EBS 安装前的准备、系统配置、打印机安装、Cygwin 安装、VS2005 安装等多个方面...
Oracle EBS 创建并发请求 在 Oracle EBS 中创建并发请求是指通过存储过程、执行程序菜单、执行程序参数菜单和责任请求组菜单来实现的。以下是详细的知识点: 一、创建存储过程 在 Oracle EBS 中,存储过程是并发...
ORACLE EBS 财务全模块操作手册中文版收集 本操作手册是 ORACLE EBS 财务全模块的详细使用指南,旨在帮助财务人员和系统管理员熟悉和掌握 ORACLE EBS 财务模块的所有功能和操作。下面是手册中的一些重要知识点: ...
在Windows 7操作系统中安装和使用Oracle E-Business Suite(EBS)可能涉及多个步骤和技术细节,这包括软件配置、环境设置以及解决特定问题。Oracle EBS是一个全面的企业资源规划(ERP)解决方案,包含了财务、供应链...
Oracle EBS 成本核算详解 Oracle EBS 成本核算是指在 Oracle EBS 系统中对成本的管理和核算,旨在帮助企业控制和优化成本。成本核算是企业财务管理的核心组成部分,对企业的生产和运营具有重要影响。 以下是 ...
这是一份完整的Oracle ebs 项目制造模块培训文档,可以了解Oracle ebs 项目制造模块(PJM)的所有功能及流程。
### OracleEBS中文数据字典知识点 #### 一、总概 **1.1 数据关系图** - **数据关系图**:提供了OracleEBS中各数据表之间的逻辑连接方式,帮助用户理解不同表之间的关联性。 **2. 基础信息** - **2.1 数据关系图...
Oracle探究_R12_SOA_Gateway模块实施指引,很不错的入门资料,值得参考
**ORACLE EBS制造系统培训手册— 成本模块(CST)详解** ORACLE EBS(Enterprise Business Suite)是企业级应用软件中的佼佼者,其成本模块(CST)作为制造业财务管理的重要组成部分,旨在帮助企业精确计算产品成本...
- **Integrated SOA Gateway 支持**:新增对 Integrated SOA Gateway 的支持,加强了与其他系统的集成能力。 ##### 国际化支持 - **Hijrah 和 Thai Buddhist 日历支持**:R12.2 增加了对 Hijrah(伊斯兰教历)和 ...
Oracle EBS(Enterprise Business Suite)是Oracle公司提供的一套全面的企业级应用软件,它涵盖了财务管理、供应链管理、项目管理、人力资源、客户关系管理等多个业务领域。这套帮助文档旨在为用户提供Oracle EBS的...
Oracle EBS,全称为Oracle Enterprise Business Suite,是一个全面的企业级应用套件,涵盖了企业运营的多个关键领域。本文主要探讨Oracle EBS中的几个关键模块,包括采购、库存、销售、应付、总账以及应收。 首先,...
Oracle EBS中文数据字典.pdf
### ORACLE EBS R12克隆详细步骤 #### 知识点概述 本文档将详细介绍如何克隆Oracle EBS R12系统,包括R12.1.3版本的具体步骤。克隆过程旨在创建一个现有Oracle EBS系统的完整副本,以支持多种应用场景,如系统测试...
Oracle EBS 应用技术架构是企业级服务提供商的安全门户服务总线,旨在提供一个统一的企业级应用平台,满足企业不同时期的发展需求。它基于统一的基础平台,根据业务需求组装不同的应用模块,形成适合企业发展不同...