WEB开发网
开发学院软件开发Java 构建 ESB 中介来将分隔文件转换为服务调用 阅读

构建 ESB 中介来将分隔文件转换为服务调用

 2010-01-22 00:00:00 来源:WEB开发网   
核心提示: 单击 Finish,保存中介流编辑器,构建 ESB 中介来将分隔文件转换为服务调用(10),返回到组装关系图,我们已创建了一个新的 Java 组件来实现自定义中介逻辑, 注意: mediate 方法的用途是从传入的服务消息对象(Service message Object,SMO)获得平面文件值

单击 Finish。

保存中介流编辑器。

返回到组装关系图。我们已创建了一个新的 Java 组件来实现自定义中介逻辑,但是需要对组装关系图进行同步才能显示该组件。

右键单击 Mediation1 组件并从上下文菜单中选择 Merge Implementation。

在随后打开的两个对话框上单击 OK。

您将转到中介流编辑器。请返回到组装关系图,您将在其中发现一个名为 CustomMediation1Partner 的新 Java 组件。重新排列各个组件,直到您能清楚地看到所有组件,然后保存组装关系图。

图 25. 完整的模块组装关系图
构建 ESB 中介来将分隔文件转换为服务调用

此时,该模块中应该没有错误。最后一步是实现自定义中介逻辑。

右键单击 CustomMediation1Partner 组件并从上下文菜单中选择 Generate Implementation。

在随后出现的对话框上单击 OK 以将该实现保留在缺省包中。

进入 Java 编辑器以后,定位到 mediate 方法,并按照清单 2 实现该方法。

注意: mediate 方法的用途是从传入的服务消息对象(Service message Object,SMO)获得平面文件值,并按照 CreditService 接口的预期构建传出 SMO 结构。

清单 2. 自定义中介原语实现
public DataObject mediate(DataObject a_type) {  
 //get the FlatFile contents and parse it 
 DataObject flatFileBG = a_type.getDataObject("READInput"); 
 DataObject flatfile = flatFileBG.getDataObject("FlatFile"); 
 byte[] bytes = flatfile.getBytes("inputBytes"); 
 String text = new String(bytes); 
 String[] items = text.split(":"); 
  
 //build the doCredit message structure 
 ServiceManager serviceManager = new ServiceManager(); 
 BOFactory factory = (BOFactory) 
 serviceManager.locateService("com/ibm/websphere/bo/BOFactory"); 
 DataObject operation = factory.createByElement("http://FlatFileMediationModule/ 
 CreditService", "doCredit"); 
 DataObject parameter = operation.createDataObject("credit"); 
 //populate the credit data object with the flat file values 
 parameter.setString("account", items[0]); 
 parameter.setString("sortcode", items[1]); 
 parameter.setString("amount", items[2]); 
  
 //return the doCredit operation 
 return operation; 
} 

上一页  5 6 7 8 9 10 

Tags:构建 ESB 中介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接