2015-06-26 84 views
0

我工作的一个BPEL流程,包括电子邮件服务,并且通常由AQ适配器拉开序幕。该组合从DVM查找和服务调用返回的内容中提取电子邮件地址。不一致行为

我的代码分配的电子邮件地址,看起来是这样的:

concat(bpws:getVariableData('EmailVariable'),',',bpws:getVariableData('ServiceOutputVariable, 'ServiceVariablePart','Email') 

其中“EmailVariable,”在两个逗号分隔的地址和“电子邮件”,是一个电子邮件地址

当BPEL是通过AQ适配器调用,电子邮件的“到”行将作为EmailA,EmailBEmailC返回。

当我把它连接到用于调试的文件适配器,不过,在“到”行写着“EMAILA,EMAILB,EmailC”(期望的结果,很明显)。

从AQ适配器版本文件适配器版本唯一改变的是开球价值的源泉。

可能是什么造成这种不一致的行为?

+0

嗨。这是Bpel 2.0,11g吗? – Wanderley

+0

这是BPEL 1.1,11g – Thorn

+0

嘿。你有没有设法解决这个问题? – Wanderley

回答

0

显而易见的问题是有你的Oracle SOA forum登载或搜索oracle.support,看它是否是一个错误? 无论如何,在AQ接口和BPEL之间放置一个中介,让中介通过数据转换来解决问题,这是其首要目的和最佳实践设计模式:将服务实现与服务接口隔离开来。

+0

我无法在SOA论坛或支持上发布任何内容。不幸的是,我的任务是让电子邮件服务工作,而不对其他组件的其他部分进行重大更改(这是由其他人设计的)。此时我有解决方案,但我仍然想知道*为什么*这发生了 – Thorn