#xml #oracle #web-services #soa #jdeveloper
#xml #Oracle #веб-сервисы #soa #jdeveloper
Вопрос:
Итак, я новичок в Oracle SOA Suite 12c и JDeveloper. Я все еще учусь, но проблема в том, что я не могу найти достаточно информации в Интернете об ошибках, с которыми я сталкиваюсь при разработке сервисов. Для этой службы я должен использовать данные очереди с сервера JMS и сохранять их в базе данных. Однако я сталкиваюсь с некоторыми ошибками
Итак, я создал службу, состоящую из адаптера 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>
но дело в том, что получатель может получать данные, но я не понимаю, почему, когда я пытаюсь присвоить значения, я получаю сообщение об ошибке, что значения равны нулю. Что мне делать?