Проблема с присвоением переменной JMS переменной базы данных

#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>
  

но дело в том, что получатель может получать данные, но я не понимаю, почему, когда я пытаюсь присвоить значения, я получаю сообщение об ошибке, что значения равны нулю. Что мне делать?