(1)完成《SOA Suite 11g 开发指南之九:为物流商配置JMS Queue 》。
(2)完成《图解安装 Oracle Service Registry 11.1.1.2.0 》。
(3)完成《图解创建 OSR Domain 》。
重要步骤说明:
1. 在JDeveloper中创建与OSR UDDI Server的连接。
2. 把发布在SOA Server上的服务发布到OSR UDDI Server上。
先访问http://localhost:7501/registry/uddi/web,登录后,选择Publish Tab,创建Business Entity,比如SOADemo Service Registry。
3. 发布成功后,在UDDI Server连接中可以看到该服务。
选择查看Report,可以看该服务的详细信息:
4. 修改POProcessing中的ValidateForCC Reference。
选择从OSR UDDI Server中选择WSDL:
选中以下两个选项表明:在运行时再从UDDI上确定该服务的Endpoint。
5. 在EM中的soa-infa的common属性中配置UDDI Query URL:
修改完后,需要重启SOA Server。
6.在OSR的Web管理界面上可以看到ValidateForCC服务。
你可以修改Acess Point,而POProcessing不受任何影响,这就是使用UDDI Server的好处。
如果你去查看composite.xml文件,你会发现ValidateForCC的reference值是一个uddi开头的东东。
这个就是在UDDI Server上的注册的Service Key,一个Key对应一个服务。
<reference name="getStatusByCC" ui:wsdlLocation="getStatusByCC.wsdl">
<interface.wsdl interface="http://oracle.com/sca/soapservice/CreditCardValidation/validationForCC/getStatusByCC#wsdl.interface(execute_ptt)"/>
<binding.ws port="http://oracle.com/sca/soapservice/CreditCardValidation/validationForCC/getStatusByCC#wsdl.endpoint(getStatusByCC/execute_pt)"
location="orauddi:/uddi:0eac65b0-9044-11e0-80fa-da5b907080fa"
soapVersion="1.1">
<property name="oracle.soa.uddi.serviceKey" type="xs:string" many="false">uddi:0eac65b0-9044-11e0-80fa-da5b907080fa</property>
<property name="weblogic.wsee.wsat.transaction.flowOption"
type="xs:string" many="false">WSDLDriven</property>
</binding.ws>
</reference>
7.重新发布POProcessing,测试大订单,成功调用ValidateForCC服务。
Project 下载:POProcessing (OSR).7z
参考文献:
1.http://biemond.blogspot.com/2009/12/using-oracle-service-registry-in-soa.html。
1 条评论:
请教一下如何更改自动生成的serviceKey?谢谢
发表评论