标签:安装 也会 version asi 提示 varchar2 成功 操作方法 srv
a) 以SYSADMIN用户登陆EBS, 进入用户管理职责。
b) 进入用户菜单,搜索ASADMIN用户。
c) 点击更新按钮,进入用户更新界面。
d) 清空有效至字段的内容,点击保存。
e) 点击重置口令按钮,输入新密码,并保存,用户状态会变成已激活状态。
以上步骤在系统管理员职责下的安全>用户FORM界面也能操作,操作方法类似。
注:完成ISG的配置之后,不要修改ASADMIN用户密码,否则还需要再重新配置。
a) 点击分配职责按钮,在LOV搜索选择窗口,选择代码,并输入:UMX|FND_IREP_ADMIN
b) 勾选复选框,并点击选择按钮。
c) 在证明字段随意输入内容,点击应用。
在EBS应用服务器上创建一个文件夹,例如:
mkdir $CUX_TOP/soa/
将这个文件夹作为<ISG_TEMP>
注:如果是多节点的话,该文件夹需要是一个共享文件夹。
2. 修改$INST_TOP/soa/isgagent.properties文件
<SID>.ISG_TEMP_DIRECTORY_LOCATION=<ISG_TEMP> |
修改$INST_TOP/soa/文件夹下isgagent.properties的ISG_TEMP_DIRECTORY_LOCATION属性
<SID>.ISG_LOGGER=FILE <SID>.ISG_GLOBAL_LOG=true |
同时需要新增两个属性来开启ISG的log功能
修改以上配置之后,重启oafm和oacore server之后产生的log文件会产生在配置的<ISG_TEMP>文件夹中。
注:多节点情况下,需要更新每个节点上的该文件
ant -f $JAVA_TOP/oracle/apps/fnd/txk/util/txkISGConfigurator.xml ebsSetup -DforceStop=yes |
source /u01/install/VISION/EBSaps.env RUN |
l 加载环境变量
source <EBS_INSTALL_BASE>/EBSapps.env RUN |
l 运行txkISGConfigurator.xml工具
ant -f $JAVA_TOP/oracle/apps/fnd/txk/util/txkISGConfigurator.xml ebsSetup -DforceStop=yes |
该脚本的执行过程需要提供一下信息:
输入用户APPS的密码.
输入用户ASADMIN的密码
输入 yes 来重启服务。
结果显示
生成Authentication Provider
注意:
上述脚本会创建一个“OAEADatasource”的data source,并部署至EBS的WebLogic Admin Server和‘oafm_cluster1‘ server。同时也会创建一个REST services使用的Authentication Provider “IsgAuthenticator”,最后重启weblogic admin server。
如果OAEADatasource已经创建过了,上述脚本增加参数“-DforceDataSourceExists=true”来替换已有的data source。使用“ -DforceAuthenticationProviderExists=true ”来重新创建Authentication Provider。
以上步骤只要在主节点执行即可
本部分主要介绍通过前台用户界面和后台脚本的方式发布REST Webservice来验证ISG的配置。
Service Alias:指明服务的别名【会显示在服务的URI里面,因此取个比较有内涵的,例如:FndUserPkgSrv】;
a) 在Service Operations表格里面,选择至少一个method来以REST service operation的方式暴露出来。
例如,我们要将一个PL/SQL类型的接口 FND_USER_PKG(并暴露TESTUSERNAME这个method) 部署为REST Service,则我们可以再应用服务器上执行下述脚本:
ant -f $JAVA_TOP/oracle/apps/fnd/isg/ant/isgDesigner.xml -Dactions=deploy -DserviceType=REST -DirepNames=FND_USER_PKG[{TESTUSERNAME:SYNC:POST}] -Dverbose=ON -Dalias=FndUserPkgSvc |
如果上述部署操作成功,即代表我们的配置无误。
界面查看该方法是否配置成功
Oracle EBS ISG支持客户化接口开发并且可以发布到Oracle Integation Repository。支持客户化开发的接口类型有:XML Gateway Map,Business Event, PL/SQL, Concurrent Program, Business Service Object, Java APIs, Java Bean Services和BPEL Composite Service。
客户化开发ISG web service流程:
注意下图中SOAP与REST两种服务方式部署的不同。
IREP解析器是集成管理员用于按照注释标准对客户化接口添加的注释验证的独立设计时工具,验证完成之后生成iLDT文件,该文件被上传到集成信息库里,然后用于生成服务、发布服务。
a) 通过运行EBSapps.env脚本建立运行文件系统APPL_TOP环境。
b) 定位Perl配置文件Config.pm并备份这个文件
cd $FMW_HOME/webtier/perl/lib/5.10.0/x86_64-linux-thread-multi
cp Config.pm Config.pm_bak20200320
c) 修改Config.pm文件
<FMW_HOME>是$ FMW_HOME的绝对路径。
archlibexp =>relocate_inc(‘<FMW_HOME>/webtier/perl/lib/5.10.0/sun4-solaris-thread-multi-64‘)
privlibexp =>relocate_inc(‘<FMW_HOME>/webtier/perl/lib/5.10.0‘)
sitearchexp =>relocate_inc(‘<FMW_HOME>/webtier/perl/lib/site_perl/5.10.0/sun4-solaris-thread-multi-64‘)
sitelibexp =>relocate_inc(‘<FMW_HOME>/webtier/perl/lib/site_perl/5.10.0‘)
d) 创建Perl安装目录
mkdir $APPL_TOP_NE/perl
chmod 755 $APPL_TOP_NE/perl
e) 在APPL_TOP环境中设置以下环境变量
export PERL5LIB=$FND_TOP/perl:$APPL_TOP_NE/perl:$PERL5LIB
export LIBPATH=$LIBPATH:$FMW_HOME/webtier/lib
export ORACLE_HOME=$FMW_HOME/webtier
LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export JAVA_HOME=/prod/EBS122/fs1/FMW_Home/jdk
这里JAVA_HOME 可以通过运行 which java来获取
f) 下载patch 13602850 (p13602850_R12_GENERIC.zip)并上传、解压
Patch 13602850 contains the following Perl modules:
Compress-Raw-Zlib-2.009
Compress-Zlib-2.009
Class-MethodMaker-1.12
按照上面的顺序安装Perl模组
安装命令:
cd $APPL_TOP_NE/perl
cp -r /temp/Compress-Raw-Zlib-2.009
cd Compress-Raw-Zlib-2.009
perl Makefile.PL
make
make install
如果上述步骤无误的话,执行以下脚本:
$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl |
若结果是如下提示则说明我们的Integration Repository Parser配置成功:
BEGIN -- create the custom product family ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => ‘cux_pf‘ ,x_pseudo_product_flag => ‘N‘ ,x_product_family_flag => ‘Y‘ ,x_application_short_name => NULL ,x_product_name => ‘CUX Product Family‘ ,x_product_family_abbreviation => NULL ,x_product_family_name => NULL ,x_aru_update_date => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_currdate => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_last_updated_by => -1 ,x_created_by => -1); COMMIT; END;
|
BEGIN -- create the custom product ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => ‘cux‘ ,x_pseudo_product_flag => ‘N‘ ,x_product_family_flag => ‘N‘ ,x_application_short_name => ‘CUX‘ ,x_product_name => ‘CUX Product‘ ,x_product_family_abbreviation => NULL ,x_product_family_name => NULL ,x_aru_update_date => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_currdate => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_last_updated_by => -1 ,x_created_by => -1); COMMIT; END; |
BEGIN -- create the relationship between family and product ad_pa_insert_package.insert_ad_pm_prod_family_map(x_product_abbreviation => ‘cux‘ ,x_product_family_abbreviation => ‘cux_pf‘ ,x_aru_update_date => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_currdate => to_char(SYSDATE,‘YYYY-MM-DD‘) ,x_last_updated_by => -1 ,x_created_by => -1); COMMIT; END; |
CREATE OR REPLACE PACKAGE cux_fnd_ws_test_pkg AS /* $Header: cux_fnd_ws_test_pkg.pls 12.0.1 $ */ /*# * This package using provide import po receive service * @rep:scope public * @rep:product cux * @rep:lifecycle active * @rep:displayname cux_fnd_ws_test_pkg * @rep:compatibility S * @rep:category BUSINESS_ENTITY CUX_SERVICE */ /*=============================================================== Copyright (C) xxx Co., Ltd. All Rights Reserved ===============================================================*/
/*=================================================================== -- Program Name : cux_fnd_ws_test_pkg -- Purpose : webservice测试包 -- Reference : -- Scope : --******************************************************************* -- Date Version Author Description -- 2020-03-26 1.00 lingchao.sun Initial Version ===================================================================*/ --=================================================================== --Procedure Name : process --Description : 处理流程 --Note : --Parameters : p_id : id -- p_name : name -- p_age :age -- p_birth_date :birth_date -- esb_flag : ESB标识 -- esb_return_code : ESB返回代码 -- esb_return_message : 系统返回消息 --History : 1.00 2020-03-26 lingchao.sun Creation --==================================================================== /*# * process * @param p_id id * @param p_name name * @param p_age age * @param p_birth_date birth_date * @param esb_flag esb flag * @param esb_return_code esb return code * @param esb_return_message esb return message * @rep:scope public * @rep:lifecycle active * @rep:displayname process */ PROCEDURE process(p_id IN VARCHAR2, p_name IN VARCHAR2, p_age IN NUMBER, p_birth_date IN VARCHAR2, esb_flag OUT VARCHAR2, esb_return_code OUT VARCHAR2, esb_return_message OUT VARCHAR2); END cux_fnd_ws_test_pkg; |
命令的格式如下:
$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=<a fnd username> <product>:<relative path from product top>:<fileName>:<version>=<Complete File Path, if not in currect directory>
本例中实际执行如下命令:
$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin cux:patch/115/sql:cux_fnd_ws_test_pkg.pls:12.0.1=cux_fnd_ws_test_pkg.pls
结果如下(看到‘Done all files’表示验证成功):
成功后,会在当前目录下生成一个ildt文件:cux_fnd_ws_test_pkg_pls.ildt
执行upload命令上传iLDT文件,命令格式如下
$FND_TOP/bin/FNDLOAD <APPS username>/<ORACLE Password> 0 Y UPLOAD $fnd/patch/115/import/wfirep.lct <ildt file>
UPLOAD脚本执行完成后,检查当前目录下的log文件,看到“Concurrent request completed successfully”表示上传成功:
创建授权即对接口中的methods的执行权限分配给某一个特定的用户/用户组/所有用户,以保证服务的访问安全性;在授权 TAB页,勾选要创建授权的method,点击创建授权;反之撤销授权则是回收权限。
l 进入REST Web 服务 TAB页;
l 勾选需要部署的methods;
l 在服务别名处填写服务别名;
l 点击部署按钮;
部署成功之后,REST 服务状态变为已部署,同时出现查看WADL和取消部署按钮
同时服务器上<ISG_TEMP>目录中也会生成REST文件夹
当我们更改了包头中的参数时,需要重新发布服务做版本升级。
需要注意的是:生成iLDT文件的IREP命令版本号要升版,同时需要清除高速缓存、重启OAFM
l $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh stop oafm_server1
l $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh start oafm_server1
DECLARE x_request VARCHAR2(32767); l_url VARCHAR2(1000); l_method_code VARCHAR2(100); l_mode_type VARCHAR2(30); l_length NUMBER; BEGIN l_url := ‘http://cheng.erptest.com:8000/webservices/rest/CuxWsTestSrv?WADL‘; l_method_code := ‘process‘;--method方法 l_mode_type := ‘XML‘;--XML/JSON cux_fnd_isg122_utl.get_model(p_wadl_url => l_url, p_method_code => l_method_code, p_model_type => l_mode_type, x_req_model_data => x_request); SELECT lengthb(x_request) INTO l_length FROM dual; --dbms_output.put_line(l_length); --dbms_output.put_line(substr(x_request, 1, 500)); --dbms_output.put_line(substr(x_request, 501, 1000)); --dbms_output.put_line(substr(x_request, 1000, l_length)); END; |
输入请求编码:UTF-8
输入方法授权的用户名和密码
指定报文的格式为XML或者JSON
输入请求报文
XML类型报文
JSON类型报文
REQUEST:
DECLARE l_url VARCHAR2(100) := ‘http://cheng.erptest.com:8000/webservices/rest/CuxWsTestSrv/process/‘; l_request utl_http.req; l_response utl_http.resp;
l_req_data VARCHAR2(32767) := ‘<?xml version="1.0" encoding="UTF-8" ?> <PROCESS_Input xmlns="http://xmlns.oracle.com/apps/cux/rest/CuxWsTestSrv/process/"> <RESTHeader xmlns="http://xmlns.oracle.com/apps/fnd/rest/header"> <Responsibility></Responsibility> <RespApplication></RespApplication> <SecurityGroup></SecurityGroup> <NLSLanguage>SIMPLIFIED CHINESE</NLSLanguage> <Org_Id>0</Org_Id> </RESTHeader> <InputParameters><P_ID>5</P_ID><P_NAME>plsql</P_NAME><P_AGE>33</P_AGE><P_BIRTH_DATE>2020-02-01</P_BIRTH_DATE></InputParameters> </PROCESS_Input> ‘;
l_resp_data VARCHAR2(32767); l_http_auth_encoded VARCHAR2(100); BEGIN l_request := utl_http.begin_request(l_url, ‘POST‘, utl_http.http_version_1_1); utl_http.set_header(l_request, ‘Content-Type‘, ‘application/xml; charset=utf-8‘); l_http_auth_encoded := utl_raw.cast_to_varchar2(utl_encode.base64_encode(r => utl_raw.cast_to_raw(‘SYSADMIN:sysadmin‘))); utl_http.set_header(l_request, ‘Authorization‘, ‘Basic ‘ || l_http_auth_encoded); utl_http.set_header(l_request, ‘Content-Length‘, to_char(lengthb(l_req_data))); utl_http.write_text(l_request, l_req_data); l_response := utl_http.get_response(l_request); utl_http.read_text(l_response, l_resp_data); dbms_output.put_line(l_resp_data); utl_http.end_response(l_response); END;
|
REQUEST:
DECLARE l_url VARCHAR2(100) := ‘http://cheng.erptest.com:8000/webservices/rest/CuxWsTestSrv/process/‘; l_request utl_http.req; l_response utl_http.resp;
l_req_data VARCHAR2(32767) := ‘{ "PROCESS_Input": { "@xmlns": "http://xmlns.oracle.com/apps/cux/rest/CuxWsTestSrv/process/", "RESTHeader": { "@xmlns": "http://xmlns.oracle.com/apps/fnd/rest/header", "Responsibility": "", "RespApplication": "", "SecurityGroup": "", "NLSLanguage": "SIMPLIFIED CHINESE", "Org_Id": "0" }, "InputParameters": {"P_ID":"5","P_NAME":"json","P_AGE":"22","P_BIRTH_DATE":"2020-01-02" } } }‘; l_resp_data VARCHAR2(32767); l_http_auth_encoded VARCHAR2(100); BEGIN l_request := utl_http.begin_request(l_url, ‘POST‘, utl_http.http_version_1_1); utl_http.set_header(l_request, ‘Content-Type‘, ‘application/json; charset=utf-8‘); l_http_auth_encoded := utl_raw.cast_to_varchar2(utl_encode.base64_encode(r => utl_raw.cast_to_raw(‘SYSADMIN:sysadmin‘))); utl_http.set_header(l_request, ‘Authorization‘, ‘Basic ‘ || l_http_auth_encoded); utl_http.set_header(l_request, ‘Content-Length‘, to_char(lengthb(l_req_data))); utl_http.write_text(l_request, l_req_data); l_response := utl_http.get_response(l_request); utl_http.read_text(l_response, l_resp_data); dbms_output.put_line(l_resp_data); utl_http.end_response(l_response); END;
|
cd $EBS_DOMAIN_HOME/servers/oafm_server1/logs
tail -f oafm_server1.out
然后调用服务,看日志的内容。
标签:安装 也会 version asi 提示 varchar2 成功 操作方法 srv
原文地址:https://www.cnblogs.com/sunlingC/p/12591462.html