Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service

前面的文章已经描述如何将自己的PL/SQL API发布到Oracle Integration Repositoy中,发布上去的集成接口还无法供集成使用的Web服务,是因为它还没有按照Web服务的规范发布为WSDL,发布接口为Web服务的步骤为:

  1. Oracle EBS Integrated SOA Gateway(ISG) 相关设置(一次性设置)
  2. 为集成接口的过程和方法创建授权,它可以授权给所有用户、一组用户或者特别的用户
  3. 生成接口对应的WSDL信息
  4. Deploy Web服务
  5. 客户端使用Web服务的WSDL描述URL来调用

下面描述是发布的详细步骤描述

 

一、ISG相关前提设置

在Web服务调用的时候,需要有一个应用数据库用户来连接EBS数据库,因此需要创建一个具备一定权限的用户,而为了简化设置的麻烦,Oracle提供了一个内建的用户 ASADMIN ,只要启用它并重置密码就可以了。另外一种方法是新建一个用户后进行授权,这种方法需要的步骤稍微多一点,再次就不做描述。

如果ISG的前提设置没有完成,在后面为集成接口 Generate WSDL 的时候就会报出如下的错误:

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第1张图片

 

1,激活ASADMIN用户

以sysadmin登录Oracle EBS,切换到 User Management 职责,进入Users页面,查找出asadmin用户,点击 Reset Password 列中的图标

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第2张图片

选择 Enter Manullay 方式来手工输入自己需要的密码

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第3张图片

 

2,确认ASADMIN用户的角色

上面查找出asadmin用户后,选择 Update 按钮下的图标进入用户编辑界面,查看用户是否已经被分配了如下的 Apps Schema Connect Role 这个角色,如果没有请点击Assign Roles 按钮来添加这个角色

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第4张图片

另外也可以通过如下的SQL语句来查看asadmin用户是否已分配相关的角色

? View Code PLSQL
1
2
3
4
5
6
7
8
9
select role_name from wf_user_roles where user_name='ASADMIN' ;
select role_name from wf_user_role_assignments where user_name='ASADMIN' ;
 
查询的结果应该是:
 
ROLE_NAME
--------------------------------------------------------------------------------
ASADMIN
UMX|APPS_SCHEMA_CONNECT

 

3,重置中间服务器中ASADMIN的密码

由于asadmin的密码已经被重置,因此中间服务器的文件配置$INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml 中对应的密码也需要修改,由于配置中的密码已被加密,我们无法提供加密后的密码,使用过OC4J的同事应该都知道,Oracle提供了一种重置这里密码的方便方法,就是采用明文密码,在密码前添加一个警号(!),然后重启应用服务器后自动会重新加密。打开system-jazn-data.xml文件后,找到

<user>
<name>ASADMIN</name>
<display-name>Default Apps SOA User</display-name>
<description>Used by SOAProvider for DB connection</description>
<credentials>{903}qMgAeO1AjQjwOJ6rIB41Sx049uG0xzhs</credentials>
</user>

只要将credentials的值更改为自己的密码,如我的密码设置为 11111,就设置为 <credentials>!11111</credentials>。修改完成后重启oamf,简单的方法就是重启Oracle EBS应用服务。

 

二、为集成接口创建授权

发布到Oracle Integration Repositoy中的Web服务能够被访问必须有相应的权限才可以,这也是受到AOL安全模型限制的一个体现。

登录EBS后切换到Integrated SOA Gateway职责,在 Integration Repositoy 中找出已经上传好的客户化集成接口,选择接口过程和方法后点击Create Grant 按钮

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第5张图片

选择授权类型:All Users、Group of Users 和 Specific USer,下面设置为最后一种方式

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第6张图片

 

三、发布Web服务

完成以上工作后,点击Generate WSDL 按钮来生成集成接口对应的Web服务WSDL信息

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第7张图片

成功完成后可以看到如下Web服务的状态为:Generated

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第8张图片

点击 Deploy 按钮来发布Web服务到中间服务器中,发布后Web服务的状态为: Deployed

Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service_第9张图片

 

至此就可以通过 http://ebs006.hand-china.com:8001/webservices/SOAProvider/plsql/oracleseeker_emp_pkg/?wsdl 来访问通过客户化PL/SQL发布的Web服务了,后续将描述如何进行Web服务的测试。

你可能感兴趣的:(Oracle Integration Repositoy(IREP)中发布客户化集成接口为Web Service)