0
点赞
收藏
分享

微信扫一扫

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)

朱小落 2022-04-01 阅读 41


20150819 Created By BaoXinjian

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql一、摘要

Oracle E-Business Suite中使用频率非常高的客户化并发程序如何发布为Oracle Integration Repository中的WSDL服务。并发程序接口发布的流程是:

Step1. 根据集成接口标记的规范定义或编写并发程序的标记

Step2. 使用FNDLOAD将并发程序的标记信息导出到LDT文件中

Step3. 使用irep_parser.pl工具验证并生成接口描述标记文件(iLDT)

Step4. 使用FNDLOAD工具将接口描述标记文件中的信息上传到Oracle Integration Repository中

Step5. 通过Oracle Integration Repository可视化界面或者soagenerate.sh脚本将接口发布为WSDL服务

Step6. 将WSDL服务发布到中间服务器


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_02二、定义并发程序的标记信息

由于一个并发程序实际上就是对应一个唯一的后台方法,因此它只有类级别的标记信息,定义标记的步骤如下:

1. 定义并发程序,这个步骤没有任何特殊的要求

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_xml_03

2. 查找需要定义标记的并发程序,打开系统管理(System Administration)职责中的并发程序页面查找到它,点击更新并发请求图标进入更新界面

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_java_04

3. 点击Update Annotation按钮进入标记定义页面,按照标记规范添加标记

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_05


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_java_06三、生成接口描述标记文件(iLDT)

1. 生成并发程序的定义文件(LDT)

使用FNDLOAD工具生成并发程序的LDT文件,文件中会将并发程序的定义,包括标记信息一并导出。通过Telnet登录服务器后,使用如下命令:

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct xxfnd_javaxmlcp.ldt PROGRAM CONCURRENT_PROGRAM_NAME=XXFND_JAVAXMLCP

(1). xxfnd_javaxmlc.ldt是生成的LDT文件名称,按照自己的要求命名

(2). XXFND_JAVAXMLCP是并发程序的简称(short_name)

[applvis@paleonode1 soa]$ FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct xxfnd_javaxmlcp.ldt PROGRAM CONCURRENT_PROGRAM_NAME=XXFND_JAVAXMLCP
Log filename : L5814433.log
Report filename : O5814433.out

[applvis@paleonode1 soa]$ ls -ltr
total 28
-rw-r--r-- 1 applvis oinstall 21706 Aug 19 09:09 xxfnd_javaxmlcp.ldt
-rw-r--r-- 1 applvis oinstall 880 Aug 19 09:09 L5814433.log


2. 生成的LDT文件中会包括如下的标记信息

BEGIN ANNOTATION "XXFND_JAVAXMLCP" "SQLAP"
OWNER = "OPERATIONS"
LAST_UPDATE_DATE = "2015/08/19"
PROGRAM_ANNOTATION =
"/*\n\
* Update the employee used concurrent program integration interface\n\
*@rep:scope public\n\
*@rep:product sqlap\n\
*@rep:lifecycle active\n\
*@rep:category BUSINESS_ENTITY BXJ_BUSINESS_ENTITY\n\
*/"
END ANNOTATION


3.验证并生成接口描述标记文件(iLDT)

将上面生成的并程序定义文件(.ldt)上传到应用的/patch/115/sql目录下,使用如下的命令验证和生成标记描述文件

$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin sqlap:patch/115/sql:xxfnd_javaxmlcp.ldt:12.0=xxfnd_javaxmlcp.ldt

[applvis@paleonode1 sql]$ $IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin sqlap:patch/115/sql:xxfnd_javaxmlcp.ldt:12.0=xxfnd_javaxmlcp.ldt
# Interface Repository Annotation Processor, 12.0.0
# Generating annotation output.
# Processing file 'xxfnd_javaxmlcp.ldt'.
# Using hard-coded parser.
# Looking at program 'XXFND_JAVAXMLCP', 'SQLAP'
# Done all files.



IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_07三、上传接口定义到Oracle Integration Repository中,并发布

1. 使用FNDLOAD上传接口定义:

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct xxfnd_javaxmlcp_ldt.ildt

[applvis@paleonode1 sql]$ FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct xxfnd_javaxmlcp_ldt.ildt
Log filename : L5814436.log
Report filename : O5814436.out


2. 使用soagenerate.sh发布接口为WSDL服务:

$FND_TOP/bin/soagenerate.sh irepname=XXFND_JAVAXMLCP logfile=irep.log printprops=true


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_08四、测试并发程序生成的Web服务

1. 查看所发布的并发程序接口

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_SOA Integration_09

2. 查看接口的详细信息

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_SOA Integration_10

3. 发布为WSDL

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_11

4. 查看WSDL明细内容

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="XXFND_JAVAXMLCP" targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/"
xmlns:tns="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns1="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<include schemaLocation="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/APPS_ISG_CP_REQUEST_CP_SUBMIT.xsd"/>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<element name="SOAHeader">
<complexType>
<sequence>
<element name="Responsibility" minOccurs="0" type="string"/>
<element name="RespApplication" minOccurs="0" type="string"/>
<element name="SecurityGroup" minOccurs="0" type="string"/>
<element name="NLSLanguage" minOccurs="0" type="string"/>
<element name="Org_Id" minOccurs="0" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="XXFND_JAVAXMLCP_Input_Msg">
<part name="header" element="tns:SOAHeader"/>
<part name="body" element="tns1:InputParameters"/>
</message>
<message name="XXFND_JAVAXMLCP_Output_Msg">
<part name="body" element="tns1:OutputParameters"/>
</message>
<portType name="XXFND_JAVAXMLCP_PortType">
<operation name="XXFND_JAVAXMLCP">
<input message="tns:XXFND_JAVAXMLCP_Input_Msg"/>
<output message="tns:XXFND_JAVAXMLCP_Output_Msg"/>
</operation>
</portType>
<binding name="XXFND_JAVAXMLCP_Binding" type="tns:XXFND_JAVAXMLCP_PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="XXFND_JAVAXMLCP">
<soap:operation soapAction="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/"/>
<input>
<soap:header message="tns:XXFND_JAVAXMLCP_Input_Msg" part="header" use="literal"/>
<soap:body parts="body" use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="XXFND_JAVAXMLCP_Service">
<port name="XXFND_JAVAXMLCP_Port" binding="tns:XXFND_JAVAXMLCP_Binding">
<soap:address location="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/"/>
</port>
</service>
</definitions>


5. 测试运行


Thanks and Regards

参考:张礼军先生 - http://oracleseeker.com/2009/10/27/publish_concurrent_program_to_integration_repository_as_web_service/



20150819 Created By BaoXinjian

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_SOA Integration_12一、摘要

Oracle E-Business Suite中使用频率非常高的客户化并发程序如何发布为Oracle Integration Repository中的WSDL服务。并发程序接口发布的流程是:

Step1. 根据集成接口标记的规范定义或编写并发程序的标记

Step2. 使用FNDLOAD将并发程序的标记信息导出到LDT文件中

Step3. 使用irep_parser.pl工具验证并生成接口描述标记文件(iLDT)

Step4. 使用FNDLOAD工具将接口描述标记文件中的信息上传到Oracle Integration Repository中

Step5. 通过Oracle Integration Repository可视化界面或者soagenerate.sh脚本将接口发布为WSDL服务

Step6. 将WSDL服务发布到中间服务器


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_SOA Integration_13二、定义并发程序的标记信息

由于一个并发程序实际上就是对应一个唯一的后台方法,因此它只有类级别的标记信息,定义标记的步骤如下:

1. 定义并发程序,这个步骤没有任何特殊的要求

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_java_14

2. 查找需要定义标记的并发程序,打开系统管理(System Administration)职责中的并发程序页面查找到它,点击更新并发请求图标进入更新界面

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_java_15

3. 点击Update Annotation按钮进入标记定义页面,按照标记规范添加标记

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_SOA Integration_16


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_17三、生成接口描述标记文件(iLDT)

1. 生成并发程序的定义文件(LDT)

使用FNDLOAD工具生成并发程序的LDT文件,文件中会将并发程序的定义,包括标记信息一并导出。通过Telnet登录服务器后,使用如下命令:

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct xxfnd_javaxmlcp.ldt PROGRAM CONCURRENT_PROGRAM_NAME=XXFND_JAVAXMLCP

(1). xxfnd_javaxmlc.ldt是生成的LDT文件名称,按照自己的要求命名

(2). XXFND_JAVAXMLCP是并发程序的简称(short_name)


[applvis@paleonode1 soa]$ FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct xxfnd_javaxmlcp.ldt PROGRAM CONCURRENT_PROGRAM_NAME=XXFND_JAVAXMLCP
Log filename : L5814433.log
Report filename : O5814433.out

[applvis@paleonode1 soa]$ ls -ltr
total 28
-rw-r--r-- 1 applvis oinstall 21706 Aug 19 09:09 xxfnd_javaxmlcp.ldt
-rw-r--r-- 1 applvis oinstall 880 Aug 19 09:09 L5814433.log


2. 生成的LDT文件中会包括如下的标记信息


BEGIN ANNOTATION "XXFND_JAVAXMLCP" "SQLAP"
OWNER = "OPERATIONS"
LAST_UPDATE_DATE = "2015/08/19"
PROGRAM_ANNOTATION =
"/*\n\
* Update the employee used concurrent program integration interface\n\
*@rep:scope public\n\
*@rep:product sqlap\n\
*@rep:lifecycle active\n\
*@rep:category BUSINESS_ENTITY BXJ_BUSINESS_ENTITY\n\
*/"
END ANNOTATION


3.验证并生成接口描述标记文件(iLDT)

将上面生成的并程序定义文件(.ldt)上传到应用的/patch/115/sql目录下,使用如下的命令验证和生成标记描述文件

$IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin sqlap:patch/115/sql:xxfnd_javaxmlcp.ldt:12.0=xxfnd_javaxmlcp.ldt


[applvis@paleonode1 sql]$ $IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin sqlap:patch/115/sql:xxfnd_javaxmlcp.ldt:12.0=xxfnd_javaxmlcp.ldt
# Interface Repository Annotation Processor, 12.0.0
# Generating annotation output.
# Processing file 'xxfnd_javaxmlcp.ldt'.
# Using hard-coded parser.
# Looking at program 'XXFND_JAVAXMLCP', 'SQLAP'
# Done all files.



IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_xml_18三、上传接口定义到Oracle Integration Repository中,并发布

1. 使用FNDLOAD上传接口定义:

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct xxfnd_javaxmlcp_ldt.ildt


[applvis@paleonode1 sql]$ FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct xxfnd_javaxmlcp_ldt.ildt
Log filename : L5814436.log
Report filename : O5814436.out


2. 使用soagenerate.sh发布接口为WSDL服务:

$FND_TOP/bin/soagenerate.sh irepname=XXFND_JAVAXMLCP logfile=irep.log printprops=true


IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_19四、测试并发程序生成的Web服务

1. 查看所发布的并发程序接口

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_20

2. 查看接口的详细信息

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_sql_21

3. 发布为WSDL

IGS_学习笔记05_IREP开发Concurrent Program为客户化集合接口(案例)_xml_22

4. 查看WSDL明细内容


<?xml version="1.0" encoding="UTF-8"?>
<definitions name="XXFND_JAVAXMLCP" targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/"
xmlns:tns="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns1="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<include schemaLocation="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/APPS_ISG_CP_REQUEST_CP_SUBMIT.xsd"/>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/apps/sqlap/soaprovider/concurrentprogram/xxfnd_javaxmlcp/">
<element name="SOAHeader">
<complexType>
<sequence>
<element name="Responsibility" minOccurs="0" type="string"/>
<element name="RespApplication" minOccurs="0" type="string"/>
<element name="SecurityGroup" minOccurs="0" type="string"/>
<element name="NLSLanguage" minOccurs="0" type="string"/>
<element name="Org_Id" minOccurs="0" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="XXFND_JAVAXMLCP_Input_Msg">
<part name="header" element="tns:SOAHeader"/>
<part name="body" element="tns1:InputParameters"/>
</message>
<message name="XXFND_JAVAXMLCP_Output_Msg">
<part name="body" element="tns1:OutputParameters"/>
</message>
<portType name="XXFND_JAVAXMLCP_PortType">
<operation name="XXFND_JAVAXMLCP">
<input message="tns:XXFND_JAVAXMLCP_Input_Msg"/>
<output message="tns:XXFND_JAVAXMLCP_Output_Msg"/>
</operation>
</portType>
<binding name="XXFND_JAVAXMLCP_Binding" type="tns:XXFND_JAVAXMLCP_PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="XXFND_JAVAXMLCP">
<soap:operation soapAction="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/"/>
<input>
<soap:header message="tns:XXFND_JAVAXMLCP_Input_Msg" part="header" use="literal"/>
<soap:body parts="body" use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="XXFND_JAVAXMLCP_Service">
<port name="XXFND_JAVAXMLCP_Port" binding="tns:XXFND_JAVAXMLCP_Binding">
<soap:address location="http://paleonode1.sh.paleotek.com:8002/webservices/SOAProvider/concurrentprogram/xxfnd_javaxmlcp/"/>
</port>
</service>
</definitions>


5. 测试运行


Thanks and Regards

参考:张礼军先生 - http://oracleseeker.com/2009/10/27/publish_concurrent_program_to_integration_repository_as_web_service/


举报

相关推荐

0 条评论