Oracle实践之EBS Integrated SOA Gateway实施指南

更新时间:2024-05-27 17:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ORACLE实践

EBS INTEGRATED SOA GATEWAY实施指南

Author: Creation Date: Last Updated: Document Ref: Version:

Approvals:

Sail.Sun(孙帆) 11-Oct-2009 17-May-2011 Oracle_Exp_035 1.1

Sail.Sun

Copy No. _____

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

Document Control

Change Record

3

Date Author Version Change Reference 11-Oct-09 17-May-11 Sail.Sun Sail.Sun 1.0 1.1 No Previous Document 更新EBS R12.1.3版本相关内容

Reviewers

Name Position

Distribution

Copy No. Name Location 1 2 3 4 Library Master Project Library Project Manager

Note To Holders:

If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes. If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

Document Control ii

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

Contents

Document Control .................................................................................................................. ii 介绍 ........................................................................................................................................... 1

概述 .................................................................................................................................... 1

内容 .................................................................................................................................... 1 (一)Integrated SOA Gateway介绍 ................................................................................... 2 (二)Integrated SOA Gateway配置 ................................................................................... 6 (三)Integrated SOA Gateway应用 ................................................................................. 19 (四)调用Integrated SOA Gateway发布的Web Service ................................................ 36 (五)Integrated SOA Gateway负载均衡的应用 ............................................................. 71 (六)Integrated SOA Gateway性能测试 ......................................................................... 77 (七)错误汇总 ..................................................................................................................... 79 (八)参考文档 ..................................................................................................................... 81 Open and Closed Issues for this Deliverable .................................................................... 82

Open Issues ..................................................................................................................... 82

Closed Issues .................................................................................................................. 82

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

Document Control iii

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

介绍

概述

在EBS中,我们可以通过PL/SQL或Java调用外围系统发布的WebService(以下简称WS),可以参考文档《Oracle实践之DBWS部署及应用&WebService开发及部署》中的描述,但这种方式仅是EBS主动调用外围系统的WS。如果我们需要外围系统主动调用EBS的WS,那么我们就需要在EBS中发布WS供其他系统调用。

EBS R12.1 推出了Integrated SOA Gateway(以下简称ISG),预定义了很多模块相关的接口,我们可以将这些接口发布为WS,供其他程序调用。Oracle于2009年10月份也相应的推出了将客户化程序在EBS中发布为WS的工具。有了ISG,再结合PL/SQL(DBWS或UTL_HTTP),我们很容易就可以完成EBS与其他系统的WS相互调用,无需通过Java代码或搭建其他的应用Server等方式来实现。 本文追加了R12.1.3版本的EBS应该如何配置ISG,包括升级IAS、必要的补丁和相关配置。

本文主要总结了在项目中使用ISG的一些经验之谈,主要包括如何配置升级ISG、开发WS、与外围系统相互调用和一些常见的问题。

内容

? ? ? ? ? ? ?

Integrated SOA Gateway介绍 Integrated SOA Gateway配置 Integrated SOA Gateway应用

调用Integrated SOA Gateway发布的Web Service Integrated SOA Gateway负载均衡的应用 Integrated SOA Gateway性能测试 参考文档

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

介绍 1 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

(一)Integrated SOA Gateway介绍

1.1 Integrated SOA Gateway初步认识

以ASADMIN用户(需要激活,在2.3中有描述)登录EBS,进入Integrated SOA Gateway职责,界面如下:

Integration Repository显示了所有的集成接口,点击每个接口名称链接可以进入接口详细信息页面,可以将接口发布成WS,并部署到应用服务器上。这就是ISG的功能,当然我们看到的这些接口都是系统预定义好的,我们也可以把自己开发的程序导入到Integration Repository中,然后通过此页面就可以看到客户化的接口,同样可以发布WS,这也是本文主要描述的内容。 1.2 Integration Repository概念

EBS中Integrated SOA Gateway职责是ISG的入口,通过这个职责我们可以进入Integration Repository,Integration Repository提供了一个EBS中全部WS的目录,用户可以通过Integration Repository轻松的查看和发布WS。Integration Repository在EBS SOA中的地位如下:

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(一)Integrated SOA Gateway介绍 2 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

Oracle Integration Repository 作为service broker的角色,在用户调用WS时,SOA Provider从Oracle Integration Repository提取integration services 和数据,接收SOAP的消息,调用WS然后再返回结果SOAP消息。

Oracle Integration Repository是EBS的一部分,包含EBS中众多接口的集中库。 它提供一个全面的UI,用户通过浏览器就可以轻松的查看访问business interface,管理员用户可以把这些接口定义生成WS(WSDL文件是遵从WS标准的文件),当WS成功生成以后,就可以部署到Oracle Application Server。 EBS中WS生成和部署的流程如下:

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(一)Integrated SOA Gateway介绍 3 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

1.3 Oracle Integration Repository 支持哪些程序类型 Integration Repository支持以下接口类型: ? ? ? ? ? ? ? ?

PL/SQL

XML Gateway Map (inbound) Concurrent Program

Business Service Object (Service Beans) Java

Business Event XML Gateway Map Composite services - BPEL

(一)Integrated SOA Gateway介绍 4 of 82

Company Confidential - For internal use only

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

? Open Interface Tables ? Open Interface Views ?

EDI Interface

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

Integrated SOA Gateway介绍(一) 5 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

(二)Integrated SOA Gateway配置

本文描述的内容适用EBS R12.1.3,R12.1.3是目前项目中常用的版本,一般我们安装完R12.1.1后都会升级到R12.1.3。ISG在R12.1推出后可以说问题和BUG不断。

在R12.1.1初期,ISG不支持发布客户化的WS,这对开发人员来说ISG就是一个摆设,很难满足我们个性化的需求,在项目中也很难应用起来。UG里所提到的irep_parser工具支持发布客户化的WS,但是在当前版本是没有的。曾经针对此问题在2009年09月份向Oracle提过一个SR,Oracle当时给的答案是irep_parser工具是当前Oracle internal teams使用的工具,会在下一个版本发布给用户使用。但是不久后,

在2009年10月份Oracle以Patch(Patch号9004712,针对R12.1.1,后面的版本无需安装此Patch)的方式发布了此功能,这样ISG在项目中才开始慢慢的得以应用。

在曾经的项目中使用ISG,经常遇到WS响应速度慢、响应超时或者调用次数过多WS无响应等等问题,也不断的给Oracle提SR,Oracle也是在不断的修复改善这些BUG,目前ISG性能相对比较稳定。 2.1 升级OracleAS

Oracle要求在EBS R12.1.3版本,ISG只有在Oracle10g Application Server Release 3 (10.1.3) Patch Set 5 (10.1.3.5.0)下是可用的。其实不升级OracleAS的版本,ISG也可以使用。但曾经遇到过调用WS过多导致OAFM性能出现问题,Oracle都建议升级OracleAS的版本,所以Oracle所说的“可用”应该更多是指性能上的问题。既然ORACLE强烈要求,我们最好去升级OracleAS。 ?

查看当前IAS的版本

以管理EBS应用OS用户登录系统,运行命令查看IAS版本,得到如下结果: $cat $CONTEXT_FILE | grep version

下载补丁8626084、8920270、6880880和8999551

下载OracleAS 10g Release 3 (10.1.3) Patch Set 5 (10.1.3.5.0)补丁,编号8626084。

下载Environment Preparation Patch for OracleAS 10g Release 3 (10.1.3) Patch Set 5 (10.1.3.5.0)补丁,编号8920270。 下载Opatch补丁,编号6880880。

下载iAS补丁,编号8999551。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 6 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

? 修改权限

注意:非AIX OS跳过此步骤。

. $INST_TOP/ora/10.1.3/TEST06_pimtest.env #确保当前终端的环境变量是10.1.3 ORACLE_HOME chmod -R go-rwx $ORACLE_HOME ? 备份Oracle E-Business Suite Release 12 10.1.3 Oracle Home和Inventory目录

注意:强烈建议备份这两个目录,如果在安装过程中失败,可以还原这两个目录再重新升级。 1. 停止应用。

2. 初始化10.1.3环境变量。

[appltest06@pimtest TEST06]$ cd $INST_TOP/ora/10.1.3 [appltest06@pimtest 10.1.3]$ . TEST06_pimtest.env [appltest06@pimtest 10.1.3]$ $ORACLE_HOME #确认当前$ORACLE_HOME是10.1.3 -bash: /u01/TEST06/apps/tech_st/10.1.3: is a directory 3. 备份oraInventory。

[appltest06@pimtest ~]$ cd /etc [appltest06@pimtest etc]$ cat oraInst.loc inventory_loc=/u01/TEST06/oraInventory [appltest06@pimtest etc]$ cd /u01/TEST06/ [appltest06@pimtest TEST06]$ tar -cvf oraInventory.tar oraInventory [appltest06@pimtest 10.1.3]$ cd $ORACLE_HOME [appltest06@pimtest 10.1.3]$ cat oraInst.loc inventory_loc=/u01/TEST06/inst/apps/TEST06_pimtest/admin/oraInventory [appltest06@pimtest 10.1.3]$ cd /u01/TEST06/inst/apps/TEST06_pimtest/admin/ [appltest06@pimtest admin]$ tar -cvf oraInventory.tar oraInventory 4. 备份10.1.3 Oracle Home

[appltest06@pimtest 10.1.3]$ cd /u01/TEST06/apps/tech_st [appltest06@pimtest tech_st]$ tar -cvf 10.1.3.tar 10.1.3 5. 启动应用

? 安装 OracleAS 10g Release 3 (10.1.3.0) Patch Set 5 (10.1.3.5.0)

(二)Integrated SOA Gateway配置 7 of 82

Company Confidential - For internal use only

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

当出现该页面,表示安装完毕,EBS应用会自动启动。

5. 关闭EBS应用和安装程序所产生的进程。

#正常关闭EBS应用后,如不好确认安装程序所产生的进程,则运行 kill -9 -1 6. 运行 AutoConfig。

[appltest06@pimtest ~]$ cd $ADMIN_SCRIPTS_HOME [appltest06@pimtest scripts]$ adautocfg.sh 7. 下载安装Patch 8999551。

注意:确保opatch版本>=1.0.0.0.58。

7.1. 执行. $INST_TOP/ora/10.1.3/TEST06_pimtest.env #确保当前环境变量是10.1.3 ORACLE_HOME 7. 2. chmod 777 /u01/TEST06/oraInventory #可在安装该补丁报错后再根据提示修改目录的权限 7.3. unzip p8999551_101350_GENERIC.zip -d ./p8999551_101350_GENERIC 7.4. cd p8999551_101350_GENERIC

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 13 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

7.5. cd 8999551 7.6. opatch apply

? ?

参考2.2 安装Integrated SOA Gateway补丁章节,完成SOA Gateway补丁的安装 安装结束时需要做的工作

1. 重新生成appsborg.zip和appsborg2.zip 文件。

备份文件。

[root@pimtest admin]# cd /u01/TEST06 [root@pimtest TEST06]# find ./ -name appsborg.zip #结果如下 ./apps/apps_st/comn/java/lib/appsborg.zip ./apps/apps_st/appl/au/12.0.0/java/appsborg.zip #备份 [root@pimtest TEST06]# cd /u01/TEST06/apps/apps_st/comn/java/lib [root@pimtest lib]# cp appsborg.zip appsborg.zip_20110511 [root@pimtest lib]# cp appsborg2.zip appsborg2.zip_20110511 [root@pimtest TEST06]# cd /u01/TEST06/apps/apps_st/appl/au/12.0.0/java/ [root@pimtest java]# cp appsborg.zip appsborg.zip_20110511 [root@pimtest java]# cp appsborg2.zip appsborg2.zip_20110511 运行 adadmin。

选择 Generate product JAR files (with the no force option)。 运行结束后会重新生成appsborg.zip和appsborg2.zip文件。

2. 检查OracleAS 10g Release 3 (10.1.3) Patch Set 5 (10.1.3.5) Installation是否安装成功。

$. $INST_TOP/ora/10.1.3/TEST06_pimtest.env $opatch lsinventory –detail #结果如下 PRODUCT NAME VERSION ============ ======= Oracle Application Server PatchSet 10.1.3.5.0 # 或者使用如下命令查看版本 错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 14 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。 $cat $CONTEXT_FILE | grep version #结果如下 3. 启动应用。

2.2 安装Integrated SOA Gateway补丁

1. Patch 9435187: Merge Request on Top of 10.1.3.X for Bugs 8857799 9223438。 2. Patch 9371120: Web Service Framework Takes More Time for Giving the Response 。

3. Patch 7366746: WLP: Enabling \。 4. Patch 9668283: Enhanced Logging Needed for Applications Adapter 。

?

安装Patch 9435187

. $INST_TOP/ora/10.1.3/TEST06_pimtest.env cd /9435187 opatch apply ?

安装Patch 9371120

. $INST_TOP/ora/10.1.3/TEST06_pimtest.env cd /9371120 opatch apply 注意:不需要做README中的步骤。 ?

安装Patch 7366746

. $INST_TOP/ora/10.1.3/TEST06_pimtest.env cd /7366746 opatch apply ?

安装Patch 9668283

. $INST_TOP/ora/10.1.3/TEST06_pimtest.env cd /9668283 opatch apply 错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 15 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

注意:忽略README中的Patch Post-installation instructions部分内容。 2.3 配置Integrated SOA Gateway

注意:OAS Adapter和forms-c4ws必须配置。ISG存在一个BUG,调用ISG发布的WS次数超过500次左右,OAFM开始出现了

Full GC的情况。此时WS不再正确响应任何请求,手工停止OAFM也会报错,只有重启OAFM后WS才会重新正确的响应请求,当OAS Adapter和forms-c4ws配置后此问题会得到解决。 ?

下载安装Patch 9905881

没有前提条件,以adpatch的方式安装即可。 ? ?

停止应用

安装Oracle Application Server Adapter for Oracle Applications

$FND_TOP/bin/txkrun.pl -script=CfgOC4JApp -applicationname=pcapps -oracleinternal=Yes -oc4jpass=oafm -runautoconfig=No ?

安装 forms-c4ws.ear 和配置container Forms-c4ws J2EE group $FND_TOP/bin/txkrun.pl -script=DeployForms-c4ws ?

启用 forms-c4ws容器 修改文件$CONTEXT_FILE。

设置s_forms-c4wsstatus的值为\。 设置s_forms-c4ws_nprocs的值为\。 ?

运行 AutoConfig

[appltest06@pimtest ~]$ cd $ADMIN_SCRIPTS_HOME [appltest06@pimtest scripts]$ adautocfg.sh ? ?

启动应用

激活 ASADMIN 用户

1. 以用户sysadmin登陆EBS。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 16 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

2. 进入User Management职责。 3. 选择Users链接进入用户维护页面。 4. 查询出ASADMIN用户。 5. 点击Update。

6. 清空Active To date的值。 7. 点击Apply。

8. 点击Reset Password。

9. 输入两次Password,然后点击Submit。 ?

分配角色

1. 以用户sysadmin登陆EBS。 2. 进入User Management职责。 3. 选择Users链接进入用户维护页面。 4. 查询出ASADMIN用户。 5. 点击Update。

6. 在User Management:User界面点击Assign Roles。

7. 添加名为Irep Administrator 和Apps Schema Connect Role 的角色。

8. 确认后台表中ASADMIN是否有UMX|FND_IREP_ADMIN和UMX|APPS_SCHEMA_CONNECT。

运行SQL:SELECT wu.role_name FROM wf_user_roles wu WHERE wu.user_name = 'ASADMIN' 正确结果是存在如下两条记录: UMX|FND_IREP_ADMIN

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 17 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

UMX|APPS_SCHEMA_CONNECT

如果没有,在系统管理员中提交并发请求(默认参数):Workflow Directory Services User/Role Validation。

?

分配职责

1. 以用户sysadmin登陆EBS。 2. 进入系统管理员职责。

3. 为ASADMIN用户分配Integrated SOA Gateway职责。 ?

修改系统文件ASADMIN的密码

先备份$INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml文件,再修改此文件的内容。 ASADMIN Default Apps SOA User Used by SOAProvider for DB connection !NEW PASSWORD 注意:修改标签的值,修改为ASADMIN用户重置后的新密码。前面加!,在OAFM重启后会

将密码加密。 例如,如果ASADMIN用户的密码是’welcome’,那么你需要将以上内容修改为’!welcome’。

?

注释OC4J的代理设置

备份文件: $ORA_CONFIG_HOME/10.1.3/j2ee/oafm/config/oc4j.properties。 注释文件中以下两行: #http.proxyHost= #http.proxyPort= ?

重启应用

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(二)Integrated SOA Gateway配置 18 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

(三)Integrated SOA Gateway应用

本章节主要介绍如何将客户化PL/SQL程序导入到Integration Repository,如何发布和部署WS,以及测试等相关技术。 Oracle提供了irep_parser.pl工具,可以将自己开发的程序导入到Integration Repository中。 3.1 安装perl模块

为什么要安装perl模块?因为irep_parser.pl会使用到perl模块。 ?

修改配置文件Config.pm

修改$IAS_ORACLE_HOME/perl/lib/5.8.3/i686-linux-thread-multi/Config.pm文件

Linux环境:

将文件中所有\/ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt \内容替换成\$IAS_ORACLE_HOME/perl\。 如不替换,在安装perl时会报如下错误:

Solaris环境:

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 19 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

将文件中所有\/opt/SUNWspro6.1/bin/cc\内容替换成\/opt/solarisstudio12.3/bin/cc\。 如不替换,在安装perl时会报如下错误:

bash-3.2$ make cp lib/Compress/Raw/Zlib.pm blib/lib/Compress/Raw/Zlib.pm AutoSplitting blib/lib/Compress/Raw/Zlib.pm (blib/lib/auto/Compress/Raw/Zlib) /export/zones/zone04/root/uat_data/UAT/apps/tech_st/10.1.3/perl/bin/perl /export/zones/zone04/root/uat_data/UAT/apps/tech_st/10.1.3/perl/lib/5.8.3/ExtUtils/xsubpp -typemap /export/zones/zone04/root/uat_data/UAT/apps/tech_st/10.1.3/perl/lib/5.8.3/ExtUtils/typemap -typemap typemap Zlib.xs > Zlib.xsc && mv Zlib.xsc Zlib.c /opt/SUNWspro6.1/bin/cc -c -I./zlib-src -D_REENTRANT -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -KPIC -xO4 -DVERSION=\\\ -DXS_VERSION=\\\-KPIC \I/export/zones/zone04/root/uat_data/UAT/apps/tech_st/10.1.3/perl/lib/5.8.3/sun4-solaris-thread-multi/CORE\ -DGZIP_OS_CODE=3 -DUSE_PPPORT_H Zlib.c sh: /opt/SUNWspro6.1/bin/cc: not found *** Error code 1 make: Fatal error: Command failed for target `Zlib.o' 如果不存在 /opt/solarisstudio12.3/bin/cc目录,则参考support.oracle文章[ID 1330135.1] 安装Oracle Solaris Studio Compiler Tools suite. 注意:Config.pm文件在其它OS中对应的目录如下:

AIX对应目录:$IAS_ORACLE_HOME/perl/lib/5.8.3/aix-thread-multi/Config.pm

Solaris对应目录:$IAS_ORACLE_HOME/perl/lib/5.8.3/sun4-solaris-thread-multi/Config.pm 在以下安装过程中忽略警告信息,想要了解更多可参考support.oracle文章[ID 1079218.1]。

?

安装Compress-Raw-Zlib-2.009

下载地址:http://search.cpan.org/~pmqs/Compress-Raw-Zlib-2.009 上传到EBS服务器,安装(以管理应用的OS用户安装): gzip -d Compress-Raw-Zlib-2.009.tar.gz tar -xvf Compress-Raw-Zlib-2.009.tar cd Compress-Raw-Zlib-2.009 perl Makefile.PL make 错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 20 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

make install ?

安装Compress-Zlib-2.009

下载地址:http://search.cpan.org/~pmqs/Compress-Zlib-2.009 上传到EBS服务器,安装(以管理应用的OS用户安装): gzip -d Compress-Zlib-2.009.tar.gz tar -xvf Compress-Zlib-2.009.tar cd Compress-Zlib-2.009 perl Makefile.PL make make install ?

安装Class-MethodMaker-1.12

下载地址:http://search.cpan.org/~fluffy/Class-MethodMaker-1.12 上传到EBS服务器,安装(以管理应用的OS用户安装): gzip -d Class-MethodMaker-1.12.tar.gz tar -xvf Class-MethodMaker-1.12.tar cd Class-MethodMaker-1.12 perl Makefile.PL make make install ?

检验perl模块是否安装成功

运行$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl,如安装成功,提示信息如下:

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 21 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

3.2 编写PL/SQL程序

导入Oracle Integration Repositoy的PL/SQL程序和普通的PL/SQL程序包没有太多区别,只是需要在PL/SQL程序的声明部分按照集成接口标记的要求添加标记注释即可,包体不需要修改。 ?

注册快速编码

在BUSINESS_ENTITY值列表类型下定义CUSTOMER_SOA(可以任意命名)。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 22 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

? PL/SQL程序包头示例

将普通的PL/SQL程序包的包头修改成如下代码样式既可,本例是返回EBS制造商信息的集成接口程序:

CREATE OR REPLACE PACKAGE cux_soa_master_data_pkg AS

/* $Header: cux_soa_master_data_pkg.pls 120.16.12010000.1 2009/10/11 11:12:37 appldev ship $ */ /*#

* This package using provide PIM master data web service * @rep:scope public * @rep:product CUX

* @rep:displayname PIM master data web service * @rep:lifecycle active * @rep:compatibility S

* @rep:category BUSINESS_ENTITY CUSTOMER_SOA

* @rep:ihelp FND/@o_funcsec#o_funcsec See the related online help */

/*===============================================

Copyright (C) HAND Enterprise Solution Co., Ltd AllRights Reserved ================================================ * =============================================== * PROGRAM NAME: cux_soa_master_data_pkg *

* DESCRIPTION: 与XXX集成主数据WS,供XXX获取主数据使用 * * HISTORY:

* 1.00 2009-10-11 sail.sun Creation *

* ==============================================*/

--传入参数

TYPE record_input IS RECORD(

system_code VARCHAR2(100), max_update_date VARCHAR2(20), last_max_rownumber NUMBER);

--返回汇总信息

TYPE record_sum IS RECORD( status VARCHAR2(10), total_flag VARCHAR2(1), row_accout NUMBER, max_rownumber NUMBER,

err_msg VARCHAR2(240));

错误!未找到引用源。

(三)Integrated SOA Gateway应用File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

23 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

--制造商返回记录信息

TYPE record_manufacturer IS RECORD(

organization_id VARCHAR2(40), --库存组织ID manufacturer_id VARCHAR2(40), --制造商标识(ID) manufacturer_num VARCHAR2(30), --制造商编号 manufacturer_name VARCHAR2(240), --制造商名称 manufacturer_name_alt VARCHAR2(150), --制造商简称 qua_flag VARCHAR2(1), --是否合格制造商 disable_flag VARCHAR2(1), --失效标志 last_update_date VARCHAR2(20), --最后更新时间 add1 VARCHAR2(200), --备用1 add2 VARCHAR2(200), --备用2 add3 VARCHAR2(200), --备用3 add4 VARCHAR2(200), --备用4 add5 VARCHAR2(200) --备用5 );

TYPE table_manufacturer IS TABLE OF record_manufacturer INDEX BY BINARY_INTEGER; /* ============================================= * FUNCTION / PROCEDURE

* NAME : get_manufacturer *

* DESCRIPTION: 获取制造商与物资的关系信息 *

* ARGUMENT: p_record_input 输入条件 * x_record_sum 返回汇总信息

* x_table_manufacturer 返回制造商与物资的关系信息 *

* RETURN: none *

* HISTORY:

* 1.00 2009-10-11 sail.sun Creation

* =============================================*/ /*#

* Get the manufacturer information

* @param p_record_input In Param

* @param x_record_sum Returns Item Sum Info * @param x_table_manufacturer Returns Item Data * @rep:scope public

* @rep:lifecycle active

* @rep:displayname Get manufacturer information * @rep:compatibility S

错误!未找到引用源。

(三)Integrated SOA Gateway应用File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

24 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

* @rep:ihelp FND/@mesgdict#mesgdict See the related online help */

PROCEDURE get_manufacturer(p_record_input IN record_input, x_record_sum OUT record_sum,

x_table_manufacturer OUT table_manufacturer); END cux_soa_master_data_pkg; ?

标记注释说明

@rep:product CUX 说明集成接口注册到CUX应用中,必须是系统中存在的应用简称。

@rep:displayname PIM master data web service 集成接口名称,将会在Integration Repository显示。 @param 存储过程和方法参数的描述。

@rep:category BUSINESS_ENTITY CUSTOMER_SOA 业务实体的类型。 ?

注意事项

@rep:category中使用的业务实体类型必须在BUSINESS_ENTITY值列表类型下定义,否则无法导入。 包头的声明使用AS不使用IS。

包级别的标记注释与‘PACKAGE AS’ 相邻。 ?

保存PLS文件

将程序包编译到数据库中以后,再将包头文件保存后缀为pls的文件,例如:cux_soa_master_data_pkg.pls。 3.3 编译和导入集成接口程序 ?

上传编译

将文件上传到应用服务器上的目录,例如$CUX_TOP/soa目录,以管理应用的OS用户运行如下命令: cd $CUX_TOP/soa $IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin cux:patch/115/sql:cux_soa_master_data_pkg.pls:12.0=cux_soa_master_data_pkg.pls 编译成功后会生成一个文件cux_soa_master_data_pkg_pls.ildt。 ?

LOAD到Oracle Integration Repositoy

(三)Integrated SOA Gateway应用 25 of 82

Company Confidential - For internal use only

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

使用FNDLOAD工具,将文件LOAD到Oracle Integration Repositoy,以管理应用的OS用户运行如下命令:

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct cux_soa_master_data_pkg_pls.ildt 到此为止,PL/SQL集成接口已导入到EBS中,可以在Oracle Integration Repositoy中查看该客户化集成接口,并发布和部署WS。

3.4 发布和部署Web Service ?

查看集成接口

以ASADMIN用户登录EBS,进入Integrated SOA Gateway职责,点击查找,输入“PIM master data web service”查找,结果如下:

可以看到客户化的PIM master data web service接口的Source是“Custom”,而Oralce自带的接口的Source是“Oracle”。 ?

生成和部署WS

点击“PIM master data web service”链接进入集成接口详细页面,点击“Generate WSDL”。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 26 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

待成功生成WSDL后,再点击“Deploy”部署WS。 点击View WSDL可以查看WSDL文件的内容。 3.5 为Web Service授权

当第三方程序调用EBS发布的WS,需要提供安全验证信息,因为EBS要求发布的WS必须设置安全验证信息。 ?

授权

选择相关的方法,点击“Create Grant”。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 27 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

SOA Monitor对应的详细错误信息如下:“Error Description User not authorized to execute service. Error Details

oracle.apps.fnd.soa.util.SOAException: AuthorizationFailure: Error in authorization check. Authorization Failure. Contact Administrator to grant access to this service...”

解决方案:在功能管理员职责下清除高速缓存。 3.7 SOA Monitor

通过 Integrated SOA Gateway->Administration->SOA Monitor可以查看WS被调用的历史记录。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 33 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

点击Details可以查看当前WS调用的详细信息。

点击SOAP Request和SOAP Response的View 链接可以查看WS请求和响应的XML,如果调用WS发生错误,此页面也可以查看错误信息。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(三)Integrated SOA Gateway应用 34 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

3.8 ISG预置文件

预置文件名称 说明 SOA: Web Service Audit 启用或禁用 SOA 跟踪,如果启用则SOA Monitor会记录WS的请求和回应的XML文件内容。 SOA: Maximum Number of Requests-Responses 要缓冲的 Web 服务请求数和回应数。 to Buffer SOA: Maximum Monitor Save Interval (Seconds) 数据库的连续两次保存间的最长保存时间间隔(秒数)。

错误!未找到引用源。

(三)Integrated SOA Gateway应用File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

35 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

(四)调用Integrated SOA Gateway发布的Web Service

ISG开发的WS,第三方系统调用WS时遇到最多的问题是身份验证相关的问题。本章节主要介绍在项目实施过程中,常见的第三方程序调用EBS的WS示例。 4.1 soapUI调用Web Service

soapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试,是开发人员常用的测试WS工具。我们在EBS中发布了WS,如果合作方的技术人员认为EBS发布的WS有问题,无法调用。那么我们一般通过soapUI测试是否可以正常调用WS,如果正常调用就可以证明我们发布的WS是没有问题的。当然我们开发程序调用对方的WS也常用soapUI做测试。 ?

下载地址

http://www.soapui.org ,网上此软件很多,也可以搜索下载,本例中使用的版本是soapUI 3.5.1。 ?

New soapUI Project

启动soapUI后,选择 File->New soapUI Project,创建一个soapUI Project ,其中Initial WSDL/WADL输入WSDL地址或者WSDL文件的路径都可以。

错误!未找到引用源。

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

(四)调用Integrated SOA Gateway发布的Web Service 36 of 82

Doc Ref: 错误!未找到引用源。

错误!未找到引用源。

? 获取soapUI请求XML信息

参考3.6 测试Web Service章节中访问WS测试页面部分,选择操作方法后,点击XML源,可以查看到请求XML信息:

?

soapUI调用WS

将上面获得的请求XML信息粘贴到soapUI左面的请求信息框,点击运行按钮后右边返回WS的响应信息。 此例中soapUI的请求信息中已包括了身份验证信息。

错误!未找到引用源。

(四)调用Integrated SOA Gateway发布的Web Service 37 of 82

File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )

Company Confidential - For internal use only

本文来源:https://www.bwwdw.com/article/jk77.html

Top