xml - 用数据库变量分配 JMS 变量的问题
问题描述
所以我是 Oracle SOA Suite 12c 和 JDeveloper 的新手。我还在学习,但问题是我在网上找不到足够的信息来了解我在开发服务时遇到的错误。对于这项服务,我必须使用来自 JMS 服务器的队列数据并将它们存储在数据库中。但是我遇到了一些错误
所以我创建了一个由连接到 BPEL 的 JMS 适配器组成的服务,该 BPEL 连接到 DB 适配器。现在,当我在 JMS 队列上添加数据时,它被我的服务使用,但是当我必须分配值时,分配活动出现以下错误:
<bpelFault><faultType>0</faultType><selectionFailure xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"></selectionFailure></bpelFault>
这是我的 BPEL:
<?xml version = "1.0" encoding = "UTF-8" ?>
<process name="BPELProcess1"
targetNamespace="http://xmlns.oracle.com/Application22/listenqueue/BPELProcess1"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:client="http://xmlns.oracle.com/Application22/listenqueue/BPELProcess1"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/jms/Application22/listenqueue/jmsService"
xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/Application22/listenqueue/db"
xmlns:ns3="http://www.example.org" xmlns:ns4="http://xmlns.oracle.com/pcbpel/adapter/db/top/db">
<!--
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-->
<partnerLinks>
<partnerLink name="jmsService" partnerLinkType="ns1:Consume_Message_plt" myRole="Consume_Message_role"/>
<partnerLink name="db" partnerLinkType="ns2:db_plt" partnerRole="db_role"/>
</partnerLinks>
<variables>
<variable name="Receive1_Consume_Message_InputVariable" messageType="ns1:Consume_Message_msg"/>
<variable name="Invoke1_insert_InputVariable" messageType="ns2:UsersCollection_msg"/>
</variables>
<sequence name="main">
<receive name="Receive1" partnerLink="jmsService" portType="ns1:Consume_Message_ptt" operation="Consume_Message"
variable="Receive1_Consume_Message_InputVariable" createInstance="yes"/>
<assign name="Assign1">
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:USERID</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:userid</to>
</copy>
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:FNAME</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:fname</to>
</copy>
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:USERSTATE</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:userstate</to>
</copy>
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:MOBILE</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:mobile</to>
</copy>
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:EMAIL</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:email</to>
</copy>
<copy>
<from>$Receive1_Consume_Message_InputVariable.body/ns3:USERID/ns3:USERTYPE</from>
<to expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$Invoke1_insert_InputVariable.UsersCollection/ns4:Users/ns4:usertype</to>
</copy>
</assign>
<invoke name="Invoke1" partnerLink="db" portType="ns2:db_ptt" operation="insert"
inputVariable="Invoke1_insert_InputVariable" bpelx:invokeAsDetail="no"/>
</sequence>
</process>
但问题是,接收器能够接收数据,但是我知道为什么当我尝试分配值时,我得到的错误是值是空的。我该怎么办?
解决方案
推荐阅读
- python - 有没有办法将文本文件读取为整数而不是列表?
- .net - 从哪里获取部署在 Azure Web 应用程序中的应用程序日志
- node.js - 获取和发布请求继续在邮递员/浏览器中加载
- woocommerce - 购物车页面上提供的邮政编码不会显示在结帐页面上。显示用户在创建帐户时使用的邮政编码
- python - Wagtail 管理员:Postgres DateRangeField 的内容面板?
- c++ - 使用`std::integer_sequence`编译时间嵌套循环
- bootstrap-4 - 无法在引导程序 -5 中向表头添加背景颜色
- mysql - 将 IN 与 OR 一起使用时 MySQL 不使用索引
- botframework - Bot Framework Composer - 本地证书问题错误
- sql-server - SQL动态查询:检查表列是否有数据