SendPaymetTermsToRetek bpel process出错
现在已经将SendPaymentTermsToRetek bpel process 成功部署在bpel server上,但是运行bpel process的时候出错,错误信息如下:
<messages><input><PublishPaymentTermsToRetek_Produce_Message_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="RibMessages"><RibMessages xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/top/PublishService" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/PublishService">
<ns1:publishetname>etEXTPayTerm</ns1:publishetname>
</RibMessages>
</part></PublishPaymentTermsToRetek_Produce_Message_InputVariable></input><fault><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>null</code>
</part><part name="summary"><summary>file:/home/oracle/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_SendPaymentTermsToRetek_1.2_c4cc1f9b57c1a8f1232822f7db772ba9.tmp/PublishPaymentTermsService.wsdl [ Produce_Message_ptt::Produce_Message(RibMessages) ] – WSIF JCA Execute of operation ‘Produce_Message’ failed due to: Adapter Framework unable to create outbound JCA connection.
file:/home/oracle/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_SendPaymentTermsToRetek_1.2_c4cc1f9b57c1a8f1232822f7db772ba9.tmp/PublishPaymentTermsService.wsdl [ Produce_Message_ptt::Produce_Message(RibMessages) ] – : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: ORABPEL-12133
ERRJMS_JMS_EXCEP.
Unable to create JMS connection due to JMS exception.
Please examine the log file to determine the problem.
[Caused by: Could not create session, connection may be dropped]
; nested exception is:
ORABPEL-12511
Adapter Framework unable to create outbound JCA connection.
file:/home/oracle/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_SendPaymentTermsToRetek_1.2_c4cc1f9b57c1a8f1232822f7db772ba9.tmp/PublishPaymentTermsService.wsdl [ Produce_Message_ptt::Produce_Message(RibMessages) ] – : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: ORABPEL-12133
ERRJMS_JMS_EXCEP.
Unable to create JMS connection due to JMS exception.
Please examine the log file to determine the problem.
[Caused by: Could not create session, connection may be dropped]
Please examine the log file for any reasons. Enable DEBUG logging in the BPEL Console.
</summary>
</part><part name="detail"><detail>null</detail>
</part></remoteFault></fault></messages>
domain.log日志中记录:
<2008-10-20 11:11:35,249> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSConnectionFactoryFactory_getConnectionFactory: looking up ‘com.seebeyond.jms.client.STCTopicConnectionFactory’
<2008-10-20 11:11:35,250> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSConnectionFactoryFactory_getConnectionFactory: JNDI Naming exception when looking up com.seebeyond.jms.client.STCTopicConnectionFactory: com.seebeyond.jms.client.STCTopicConnectionFactory not found
<2008-10-20 11:11:35,250> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSConnectionFactoryFactory_getConnectionFactory: Will now try to determine if the ‘ConnectionFactoryLocation’ com.seebeyond.jms.client.STCTopicConnectionFactory is a loadable Java class. If so, the above exception can be ignored.
<2008-10-20 11:11:35,250> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSConnection_init: Using non-XA TopicConnectionFactory
<2008-10-20 11:11:35,273> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> Error while creating managed connection:
<2008-10-20 11:11:35,275> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound>
ORABPEL-12133
ERRJMS_JMS_EXCEP.
Unable to create JMS connection due to JMS exception.
Please examine the log file to determine the problem.
在metalink上提了TAR,现在还没有解决,请高手帮忙.
关于作者:
昵称:chenlei 档案信息: 联系方式:你可以通过flitsky@126.com联系作者 点击查看chenlei发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/451 |
对本文的评价:
老胡回复如下:
看上去,像是在你的JNDI服务上,找不到“com.seebeyond.jms.client.STCTopicConnectionFactory”查看了资料,好像需要手工配置下,参考下附件(PDF 52页)或(mht)
陈磊:
这些我都设置过了, 我是参考or-ebs-1205-intg.pdf文档来设置的.
我开始感觉是library没有设置好,但按照pdf中的说明,配置了library应该就可以找到的,但现在还是有问题.
1.在/home/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/applib目录中添加如下3个jar文件
fscontext.jar
providerutil.jar
stcjms.jar
2. 在/home/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/config目录的application.xml文件中添加:
3.在/home/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/application-deployments/default/JmsAdapter/oc4j-ra.xml文件中eis/Jms/SendPaymentTerms的配置如下
oracle.tip.adapter.jms.IJmsConnectionFactory
老胡回复如下:
近期调试了下,发现下面的一些问题:
1, RIB 没有启动, 启动RIB后,JMS Server起来;
2, Oc4J 上的JMS Adapter配置,端口调整为 24053 (RIB JMS Server Port,原来设置为23001, Seebeyond e*Gate端口);
3, 在BPEL上重新测试流程,没有抱错信息;
4, 使用命令$EHOME/client/bin/stcmsctrlutil -host egate -port 24053 –queuelist发现没有任何Queue;
猜测是不是在Seebeyond e*Gate上,安装RIB 时不完整?
老胡:
http://syfr12.vicp.net/blog/index.php/rib12-install-guid
文中最后一段是这么描述的:
#解决vi start_rib
把 export REG_HOST=localhost 修改为 export REG_HOST=egate
#在执行
./start_rib ALL
#成功,jms server和两个eway都起来了(备注,我修改了 $EHOME/Egate.txt ,只保留了iqmJMS和两个eway:
ewFrtTermToRMS is up
ewVendorToRMS is up
#用Schema manager 查看iqmJMS已经起来了,但是eway还是没有起来.
#但如果在Control tab页针对这个eway 执行start命令则得到的反馈是该eway已经启动.是否Schema manger的状态检测有问题?
#明天继续研究.
所以目前的e*Gate jms server中应该是没有paymentterm 这个 e*Way的 ,如果要添加这个e*Way ,需要使用Schema manager 的import 从 zip文件导入。
Zip文件已经在Schema manager那台机器上了( 好象就在c:\eway 目录下,记得不太清了) 。导入方法参考:rib_120_ig.pdf page 19
Load RIB Components – Manual Instructions
These instructions are provided in order to individually load modules into the schema.
Skip this section if the automated process was used and completed successfully.
Each RIB module can be loaded into the schema manually, if
necessary, by running the “Import Definitions from File” feature of the e*Gate Schema
Designer GUI.
1. From a Windows PC, which has the e*Gate GUI installed, put the .zip
file(s) to be loaded on an accessible drive.
2. Start the e*Gate Schema Designer.
3. Log in to the schema.
4. Select File > Import Definitions from File. The Import Wizard is displayed.
5. Click Next. The Step 1 page is displayed.
6. Select the “Module” radio button. Click Next. The Step 2 page is displayed.
7. Locate/select the .zip file to be imported into the
schema. Click Next.
8. Click Finish. The Import Component dialog box is displayed, asking for
confirmation as to which Participating Host/Control Broker pair to import into. Click
OK.
9. Repeat the above steps for each .zip file that you wish to import.
10. Continue the install process: RIB schema configuration.
==============
RIB GUI(192.168.11.41上的虚拟机)
==============
GUI:192.168.11.81
可使用 开始->附件->通讯->远程桌面连接 进行管理
陈磊回复如下:
我之前手工添加l eway: etEXTPayTerm, 但没有在$EHOME/Egate.txt 文件中添加etEXTPayTerm.
#在执行./start_rib ALL后 显示ewFrtTermToRMS is up 和 ewVendorToRMS is up
但是在Schema Manager中查看发现ewFrtTermToRMS 和ewVendorToRMS的状态是down,并且颜色是红色的,在Schema Manager中使用start后还是启动不了ewFrtTermToRMS和ewVendorToRMS e*way.
而且启动我添加的etEXTPayTerm也启动不了.
etEXTPayTerm是个subscribing e*way,负责从JMS Server Topic上订阅消息,感觉应该是bpel publish message到JMS Server Topic上,然后etEXTPayTerm从JMS Server Topic上subscribe message后更新
retail数据库.
现在好像bpel已经将message publish到JMS Topic上了,但是etEXTPayTerm没有启动起来,所以订阅不了消息呢?
老胡回复如下:
刚发现,RIB上这么说的“The RIB uses JMS topics instead of queues to allow all subscribers to the topic to receive
a copy of the message“
即是使用 JMS topic来处理Message
重新使用命令: stcmsctrlutil -h egate -port 24053 –topiclist
可以看到,有topic: etEXTPayTerm
但是在
select * from rms12dev.rib_message t;
SELECT * FROM rms12dev.rib_message_failure;
没有任何数据,继续…..
陈磊回复如下:
bpel流程运行没有问题了,但是rib那边还有点问题,e*way ewEXTPayTerm 启动不起来.
这样ewEXTPayTerm订阅不了消息,信息不能传到retail中.
在e*Gate Schema Designer中设置ewPayTermToRMS使其指向/jdk1.5.0_16/jre/lib/i386/client/libjvm.so,重新启动ewPayTermToRMS后成功.
现在从EBS导付款条件到RMS系统测试成功,关于出现的问题总结如下:
1.bpel process SendPaymentTermsToRetek 出错,是因为RIB JMS Server没有启动,并且配置JMS 连接工厂eis/Jms/SendPaymentTerms时将JMS Server的端口设置成了egate的端口.将端口号更改过来后bpel process运行没有错误.
2.e*way ewPayTermToRMS 启动不起来是因为没有配置它JVM Settings选项中的JNI DLL absolute pathname值,使它指向有效的java虚拟机即可启动ewPayTermToRMS.
3.测试过程中会发现ewPayTermToRMS 报Resource Unable to Connect User 错误,发现是e*Way Connections中cpToAndFromRMS中DataSource选项中的ServerName配置错误,使它指向RETL数据库即可.
4.经过测试,在EBS系统中输入新的付款条件后,该付款条件可以导入到RMS系统的terms_head表中,另外可以用JMS Administrator工具监控发布和订阅的message.