OSBOracle Service Bus安装配置手册.docx
《OSBOracle Service Bus安装配置手册.docx》由会员分享,可在线阅读,更多相关《OSBOracle Service Bus安装配置手册.docx(66页珍藏版)》请在冰豆网上搜索。
OSBOracleServiceBus安装配置手册
OracleServiceBus
安装配置手册
目录
1OracleServiceBus安装4
2OracleServiceBus域配置11
3开发环境准备16
3.1Server配置16
3.2建立OracleServiceBus配置项目及项目17
3.3建立记Log的Java项目20
3.4配置WebLogicServer的连接池(记Log要用)22
3.5配置Queue(对帐交易中用到)23
3.6建立对SocketTransport的支持29
3.7电子支付平台与码头接口配置34
4接口说明41
4.1接口需求文档41
4.2OracleServiceBus接口描述41
5服务配置过程及测试42
5.1工行实时扣费及划帐服务配置(ICBCServices)42
5.2工行对帐服务配置(BatchServices)61
5.3电子支付平台到码头服务配置(SCTService)64
6使用和对接71
1OracleServiceBus安装
点击osb103_weblogic103_win32.exe
建立BEAHome
选择Custom方式,并选择所有
选择安装JDK
2
OracleServiceBus域配置
启动配置向导configurationwizard(program->OracleWebLogic->WebLogicServer10gr3->Tools->ConfigurationWizard)
选择CreateanewWebLogicdomain,然后Next
选择WorkshopforWebLogic10.3和OracleServiceBus,然后Next
输入WebLogic管理控制台用户名密码(weblogic/weblogic),然后Next
选择域的运行模式,缺省开发模式,然后选择相应的JDK,然后Next
选择Next
输入域名称和所在目录,选择Create,直到完成,选择Done
OracleServiceBus的域配置完成.
3开发环境准备
3.1Server配置
打开workshop(Program->OracleWebLogic->WorkshopforWebLogic10gr3),在Servers的视图中选择新建
选择OracleWebLogicServerv10.3,然后Next
配置域路径
直到出现
配置server过程完成
3.2建立OracleServiceBus配置项目及项目
选择File->New->OracleServiceBusConfigurationProject
输入项目名,比如EPSProject1
选择EPSProject1,右键建立OracleServiceBus项目
输入项目名称,然后Finish
在新建立的OracleServiceBus项目下如图建立以下目录(Folder),分别是BusinessServices,ProxyServices,ServiceAccount,Tranformation,WSDL,Jar
分别作为以下用途
BusinesssServices:
用于存放定义的BusinessServices,接入后端服务
ProxyServices:
用于定义ProxyServices,提供前端调用接口
ServiceAccount:
用于定义ftp的访问需要的用户名密码
Transformation:
用于存放和定义在过程中发生的数据转换
WSDL:
用于存放WSDL文件
Jar:
用于JavaCallout,主要是通过JavaCallout方式来记日志
3.3建立记Log的Java项目
⏹首先先在数据库表中建立osblog表
Createtableosblog(
Transnovarchar(20),
Messagevarchar(200),
Transdatedate);
⏹在WebLogicconsole中建立到数据库的连接池,JNDI设置为XE
⏹建立JavaProject,注意在build路径下加入weblogic.jar
⏹先建立一个osbutility的package,然后新建OsbLogMessage类,代码如下:
packageosbutility;
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.*;
importjavax.naming.Context;
importjavax.naming.InitialContext;
publicclassOsbLogMessage{
/**
*@paramargs
*/
/*publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
}
*/
publicstaticbooleanlog(Stringtransno,Stringmess){
Connectioncon=null;
Statementstmt=null;
intval=1;
try{
Contextctx=null;
Hashtableht=newHashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3:
//localhost:
7001");
ht.put(Context.SECURITY_PRINCIPAL,"weblogic");
ht.put(Context.SECURITY_CREDENTIALS,"weblogic");
ctx=newInitialContext(ht);
javax.sql.DataSourceds=(javax.sql.DataSource)ctx.lookup("XE");
con=ds.getConnection();
Stringsql="insertintoosblogvalues('"+transno+"','"+mess+"',sysdate)";
System.out.println(sql);
stmt=con.createStatement();
val=stmt.executeUpdate(sql);
}catch(Exceptione){
System.out.println(e.getMessage());
}finally{
try{
if(stmt!
=null)
stmt.close();
if(con!
=null)
con.close();
}
catch(SQLExceptione){
System.out.println(e.toString());
}
}
if(val!
=0)
returnfalse;
returntrue;
}
}
3.4配置WebLogicServer的连接池(记Log要用)
打开WebLogicServer管理控制台http:
//localhost:
7001/console
新建Services->JDBC->DataSource
其他选择缺省设置,并且设置用户名密码,测试通过部署到AdminServer就可
3.5配置Queue(对帐交易中用到)
1)选择Services->Messaging->JMSModules,建立CHModule
选择部署到AdminServer
2)新建JMSServers同时部署到AdminServer
3)在CHModule中建立ConnectionFactory
4)然后新建Queue
5)选择新建Subdeployment如图
完成
3.6建立对SocketTransport的支持
1)先在cmd下转到需要部署的OracleServiceBusdomain目录(如E:
\bea\user_projects\domains\CH_domain\bin),运行SetDomainEnv.cmd
2)在cmd下转到相应的SocketTransport的安装目录(如E:
\bea\osb_10.3\samples\servicebus\sample-transport),修改在E:
\bea\osb_10.3\samples\servicebus\sample-transport\src\com\bea\alsb\transports\sock中的SocketTransportUIBinding.java,主要修改方法为:
(蓝色)
publicbooleanisServiceTypeSupported(BindingTypeInfobindingType){
returntrue;
/*
try{
BindingTypeInfo.BindingTypeEnumtype=bindingType.getType();
if(type.equals(BindingTypeInfo.BindingTypeEnum.MIXED)){
BindingTypeInfo.MessageTypeEnumresponseMessageType=
bindingType.getResponseMessageType();
if(responseMessageType!
=null){
if(!
(
BindingTypeInfo.MessageTypeEnum.TEXT.equals(responseMessageType)||
BindingTypeInfo.MessageTypeEnum.XML
.equals(responseMessageType))){
returnfalse;
}
}
BindingTypeInfo.MessageTypeEnumrequestMessageType=
bindingType.getRequestMessageType();
if(requestMessageType!
=null){
return
BindingTypeInfo.MessageTypeEnum.TEXT.equals(requestMessageType)||
BindingTypeInfo.MessageTypeEnum.XML.equals(requestM