Author Topic: Problem with Composer - eclipse juno  (Read 1316 times)

Offline efrainclg95

  • Jr. Member
  • **
  • Posts: 54
  • Karma: 0
Problem with Composer - eclipse juno
« on: June 20, 2018, 06:04:27 AM »
Hello good afternoon, I have a problem and I would appreciate it if you could help me solve it:

I have a simple strategy that routes agent made in Composer but at the moment of validating the development I get the following error:


cvc-complex-type.3.2.2: Attribute 'resolveid' is not allowed to appear in element 'xi: include'. IPD_default_defaultWorkflow.scxml / Agent / src-gen line 103 Validation Message[/b]

Refers to: IPD_default_defaultWorkflow.scxml

 
Description:

cvc-complex-type.3.2.2: Attribute 'resolveid' is not allowed to appear in element 'xi:include'.   IPD_default_defaultWorkflow.scxml   /Agente/src-gen   line 103   Validation Message

Error Code: (highlighted in yellow)

<?xml version="1.0" encoding="utf-8"?>
<scxml version="1.0" xmlns="http://www.w3.org/2005/07/scxml"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:ws="http://www.genesyslab.com/modules/ws"
      xmlns:queue="http://www.genesyslab.com/modules/queue"
      xmlns:dialog="http://www.genesyslab.com/modules/dialog"
      xmlns:session="http://www.genesyslab.com/modules/session"
      xmlns:ixn="http://www.genesyslab.com/modules/interaction"
      xmlns:classification="http://www.genesyslab.com/modules/classification"
      initial="_composer_globalstate" 
      profile="ecmascript"
      _persist="false"
      name="default.defaultWorkflow">

   <script><xi:include href="../include/common.js" parse="text"/></script>
   <script><xi:include href="../include/DataAccess.js" parse="text"/></script>   
   <script><xi:include href="../include/RouteFeature.js" parse="text"/></script>
   <script><xi:include href="../include/IrdEnumMapper.js" parse="text"/></script>
   <script><xi:include href="../include/StringManipulation.js" parse="text"/></script>
   <script><xi:include href="../include/DateTime.js" parse="text"/></script>
   <script><xi:include href="../include/ListManipulation.js" parse="text"/></script>
   <script><xi:include href="../include/MiscIRDFunctions.js" parse="text"/></script>

   <!-- SCXML code generated by Composer 8.1.400.21 -->
   <!-- Diagram created/upgraded by Composer: Composer 8.1.400.21 -->
   <!-- Project version: 8.1.400.21 -->
   <!-- Diagram version: 1.0 CreatedOn:  -->
   <!-- Application Author:  -->

   <state id="_composer_globalstate" initial="_composer_parallel">
      <datamodel>
         <data id="system" expr="new Object()"/>
         <data id="context_management_services_url"/>
         <data id="context_management_services_username"/>
         <data id="context_management_services_password"/>
         <data id="ors_url"/>
         <data id="grat_server" />
         <data id="grat_username" />
         <data id="grat_password" />
         <data id="grat_tenant" />
      </datamodel>
      <parallel id="_composer_parallel">
         <onentry>
            <script>
               <!-- Global Variables declarations -->
               var system = new Object();
               system.SessionID = undefined;
               system.uncaughtApplicationEvents = [];
               _data.system.context = system;
               <!-- Deprecated variables START -->
               <!-- Do not use them in your diagrams -->
               var App_Name = 'defaultWorkflow';
               var App_BaseURL = getBaseURL();
               var App_RelativePathURL = getRelativePathURL();
               var InteractionID;
               var CallID;
               var DNIS;
               var ThisDN;
               var ANI;
               var TenantID;
               var Tenant_Name;
               var App_Last_Error_Event;
               var App_Last_Error_Event_Name;
               var App_Last_Error_Description;
               var App_StartEvent;
               <!-- Deprecated variables END -->
            </script>
            <log expr="'RelativePathURL = ' + getRelativePathURL()" />
         </onentry>

         <!-- User application leg -->
         <state id="_composer_application" initial="_composer_init">
            <!-- Initial state of the application leg, just wait for the application.start event -->
            <state id="_composer_init">
               <onentry>
                  <log expr="'Application initialized'"/>
               </onentry>
               <transition event="application.start" target="_composer_start"/>
            </state>
            <!-- Start state of the application leg, the application.start event is caught,
               the workflow SCXML can now be run-->
            <state id="_composer_start" initial="defaultWorkflow">
               <onentry>
                  <script>
                     setSystemVarsForEffectiveIxnId(system);
                     <!-- Deprecated variables START -->
                     <!-- Do not use them in your diagrams -->
                     TenantID = system.TenantID;
                     Tenant_Name = system.TenantName;
                     CallID = system.CallID;
                     DNIS = system.DNIS;
                     ANI = system.ANI;
                     <!-- Deprecated variables END -->
                  </script>
                  <if cond="typeof system.InteractionID != 'undefined'">
                     <log expr="system.Type + ' Interaction ' + system.InteractionID + ' processing'"/>
                  <else/>
                     <log expr="'Interaction less processing'"/>
                  </if>
               </onentry>
               <state id="defaultWorkflow" initial="defaultWorkflow._composer_entry">
                  <!-- include workflow scxml -->
                  <xi:include href="default.scxml" parse="xml" resolveid="defaultWorkflow" xpointer="_composer_entry" />
                  <transition event="done.state.defaultWorkflow._composer_entry" target="_composer_global_exit" />
               </state>

            </state>

            <!-- application.exit is caught, that means it was not caught by the underlying workflow SCXML,
            so we fall back on default behavior which is to stop the application (and the session) -->
            <transition event="application.exit" target="_composer_global_exit"/>

            <!-- store uncaught application events. those events might be processed by the system handler. -->
            <transition event="*">
               <log expr="_event.name + ' event received in user application thread ' + _event.toSource()"/>
               <script>storeUnhandledEvent();</script>
            </transition>
         </state>

         <!-- Event Handler leg -->
         <state id="_composer_event_handler">
            <onentry>
               <log expr="'Waiting for events'"/>
            </onentry>
            <!-- The Event Handler leg catches and processes 'system' events (by default) & any user defined event.
            When an event is received, it never transitions out to a target state.
            So this state remains active until the user application leg is finished. -->
            <transition event="error.notallowed" cond="_data.keepGVPSessionAlive==true">
               <log expr="'*** Received error.notallowed event in IPD. Ignoring the error.notallowed event ***'"></log>
            </transition>
            <transition event="interaction.added" cond="typeof system.SessionID == 'undefined'">
<log expr="_sessionid + ': interaction.added received in IPD event handler for interaction ' + _event.data.interactionid"/>
<assign location="system.SessionID" expr="_sessionid"/>
<assign location="system.StartEvent" expr="_event"/>
<assign location="App_StartEvent" expr="system.StartEvent"/>
<script>initializeRoutingSystemVariables();</script>
<assign location="InteractionID" expr="system.InteractionID"/>
<if cond="typeof _genesys.ixn.interactions[_event.data.interactionid] != 'undefined'
         &amp;&amp; typeof _genesys.ixn.interactions[_event.data.interactionid].voice != 'undefined'
         &amp;&amp; _genesys.ixn.interactions[_event.data.interactionid].voice.type == 'consult'">
   <!-- Consult call started strategy. Attaching primary call...-->
   <log expr="_sessionid + ': attaching parent interaction'"/>
   <ixn:attach requestid="system.RequestID" interactionid="_genesys.ixn.interactions[_event.data.interactionid].parentid"/>
<else/>
   <!-- Normal call started strategy. Proceeding with session ...-->
   <log expr="_sessionid + ': processing interaction ' + _event.data.interactionid"/>
   <raise event="application.start">
      <param name="interactionid" expr="_event.data.interactionid"/>
   </raise>
</if>
            </transition>
            <transition event="interaction.attach.done" cond="_event.data.requestid == system.RequestID">
<!-- Processing primary call ...-->
<log expr="_sessionid + ': processing primary interaction ' + _event.data.interactionid"/>
<send event="'application.start'" delay="'1s'">
   <param name="interactionid" expr="(typeof system.StartEvent != 'undefined' &amp;&amp; typeof system.StartEvent.data != 'undefined') ? system.StartEvent.data.interactionid : undefined"/>
</send>
            </transition>
            <transition event="interaction.onmerge" cond="system.Type == 'consult' &amp;&amp; _event.data.frominteractionid == _data.system.context.InteractionID &amp;&amp; _event.data.tointeractionid == _data.system.context.ParentInteractionID">
<log expr="_sessionid + ': interaction.onmerge received in IPD event handler from ' + _event.data.frominteractionid + ' to ' + _event.data.tointeractionid"/>
<assign location="_data.system.context.InteractionID" expr="_data.system.context.ParentInteractionID"/>
<assign location="_data.system.context.ParentInteractionID" expr="undefined"/>
            </transition>
            <transition event="interaction.deleted" cond="_event.data.interactionid == _data.system.context.InteractionID">
<if cond="!isEventHandledByApplication()">
   <log expr="_sessionid + ': interaction.deleted (effective interaction) received in IPD event handler for interaction ' + _event.data.interactionid"/>
   <raise event="application.exit">
      <param name="interactionid" expr="_event.data.interactionid"/>
      <param name="reason" expr="'current interaction deleted'"/>
   </raise>
</if>
            </transition>
            <transition event="interaction.deleted" cond="_event.data.interactionid == _data.system.context.InitialInteractionID">
<if cond="!isEventHandledByApplication()">
   <log expr="_sessionid + ': interaction.deleted (initial interaction) received in IPD event handler for interaction ' + _event.data.interactionid"/>
   <raise event="application.exit">
      <param name="interactionid" expr="_event.data.interactionid"/>
      <param name="reason" expr="'initial interaction deleted'"/>
   </raise>
</if>
            </transition>
            <transition event="interaction.partystatechanged" cond="_event.data.interactionid == _data.system.context.InteractionID &amp;&amp; system.Type != 'consult'">
<log expr="_sessionid + ': interaction.partystatechanged received in IPD event handler for interaction ' + _event.data.interactionid"/>
<assign location="_data.system.context.ThisDN" expr="_event.data.focusdeviceid"/>
            </transition>
            <transition event="error">
<if cond="!isEventHandledByApplication()">
   <log expr="_sessionid + ': unexpected error received in IPD event handler ' + _event.toSource()"/>
   <if cond="typeof _event != 'undefined' &amp;&amp; typeof _event.data != 'undefined' &amp;&amp; typeof _event.data.description != 'undefined'">
      <log expr="_sessionid + ': Error message: ' + _event.data.description" />
   </if>
   <script>
      <![CDATA[
      var autostop = (typeof _data.system.context.InteractionID != 'undefined')
                  && (typeof _genesys.ixn.interactions[_data.system.context.InteractionID] != 'undefined')
                  && (typeof _genesys.ixn.interactions[_data.system.context.InteractionID].voice == 'undefined')
                  && (_data.system.context.TerminateIxnOnExit == '1' || _data.system.context.TerminateIxnOnExit == 1);
      ]]>
   </script>
   <if cond="autostop">
      <ixn:terminate interactionid="_data.system.context.InteractionID" reason="'Auto-stop interaction'"/>
   </if>
   <raise event="application.exit">
      <param name="interactionid" expr="_data.system.context.InteractionID"/>
   </raise>
</if>
            </transition>
         </state>
      </parallel>
   </state>

   <!-- Global Exit state -->
   <final id="_composer_global_exit">
      <onentry>
         <log expr="'Reached Final global exit state for application. Session will terminate now.'" />
      </onentry>
   </final>   
</scxml>




Thank you very much for your help and / or suggestions

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7471
  • Karma: 56330
Re: Problem with Composer - eclipse juno
« Reply #1 on: June 20, 2018, 06:44:50 AM »
Which version of Composer are you using?
Does your eclipse has any other plug-ins?
Any other jar loaded at your project?


Enviado de meu E6633 usando o Tapatalk


Offline efrainclg95

  • Jr. Member
  • **
  • Posts: 54
  • Karma: 0
Re: Problem with Composer - eclipse juno
« Reply #2 on: June 20, 2018, 07:16:12 AM »
Hello Cavagnaro

Thank you for your response and time to read my case, here I answer:

Eclipse Version Juno Service Release 2
Build id: 20130225-0426

Genesys Composer: 8.1.450.20

I only have a single project, it's a strategy that routes the operator, it's simple, I've also noticed that the same error comes out when I validate other projects.

Thank you

Offline René

  • Administrator
  • Hero Member
  • *****
  • Posts: 1819
  • Karma: 60
Re: Problem with Composer - eclipse juno
« Reply #3 on: June 20, 2018, 07:59:04 PM »
Your Composer version is 8.1.450.20 but SCXML shows it was generated using older release. Have you upgraded your project to 8.1.450.20? I'm not saying it will fix the issue but it is a first step you should do.

<!-- SCXML code generated by Composer 8.1.400.21 -->
<!-- Diagram created/upgraded by Composer: Composer 8.1.400.21 -->
<!-- Project version: 8.1.400.21 -->
<!-- Diagram version: 1.0 CreatedOn:  -->
<!-- Application Author:  -->

R.

Offline efrainclg95

  • Jr. Member
  • **
  • Posts: 54
  • Karma: 0
Re: Problem with Composer - eclipse juno
« Reply #4 on: June 21, 2018, 07:36:07 AM »
Hello Rene

You were right, the problem was the composer version in relation to the eclipse, as I have a server with windows server 2012 I had to install an eclipse compatible with this OS version, I installed the LUNA eclipse, then I installed the Composer for this version and so I could homologate the versions.

I made a test strategy that always routes the operator and did not give me the error.

Thank you very much for your kind support.