Integration_IREP学习笔记系列3_IREP发布客户化集成接口为Web Service(案例)

2015-01-03 Created By BaoXinjian

一、摘要


PL/SQL API发布到Oracle Integration Repositoy后,发布上去的集成接口还无法供集成使用的Web服务,是因为它还没有按照WebSerices的规范发布为WSDL,发布接口为Web服务的步骤为:

Step1.Oracle EBS Integrated SOA Gateway(ISG) 相关设置(一次性设置);

Step2.为集成接口的过程和方法创建授权,它可以授权给所有用户、一组用户或者特别的用户;

Step3.生成接口对应的WSDL信息;

Step4.Deploy Web服务;

Step5.客户端使用Web服务的WSDL描述URL来调用;

 

二、ISG相关前提设置


在Web服务调用的时候,需要有一个应用数据库用户来连接EBS数据库,因此需要创建一个具备一定权限的用户,而为了简化设置的麻烦,

Oracle提供了一个内建的用户 ASADMIN ,只要启用它并重置密码就可以了。

另外一种方法是新建一个用户后进行授权,这种方法需要的步骤稍微多一点,再次就不做描述。

 

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

 

image

 

 

1,激活ASADMIN用户

 

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

 

reset_asadmin_password

 

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

 

reset_asadmin_password_enter

 

 

2,确认ASADMIN用户的角色

 

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

 

asadmin_roles

 

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

 

?View Code PLSQL

 

 

 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 按钮

 

image

 

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

 

plsql_create_emp_grant

 

 

四、发布Web服务


 

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

 

image

 

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

 

image

 

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

 

deployed_custom_plsql_wsdl

 

 

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

 

Thanks and Regards

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

你可能感兴趣的:(web Service)