2017-08-03 4 views
0

Je suis novice en matière de bave. Je veux lancer plusieurs règles simultanément en fonction de la condition. J'utilise la commande d'exécution par lots comme suit, mais il me donne l'erreur: « demande Bad, aucune commande à exécuter - format incorrect ou pas de données »Drools: Exécution simultanée de plusieurs règles via REST

{ 
"batch-execution":{ 
    "lookup":"defaultKieSession", 
    "commands":[ 
     { 
      "insert":{ 
       "out-identifier":"TestAdvance", 
       "object":{ 
        "LoanAdvance":{ 
         "tenure":4, 
         "isBlacklisted":false 
        } 
       } 
      } 
     }, 
     { 
      "insert":{ 
       "out-identifier":"TestAdvance", 
       "object":{ 
        "LoanAdvance":{ 
         "tenure":3, 
         "isBlacklisted":false 
        } 
       } 
      } 
     }, 
     { 
      "fire-all-rules":{ 

      } 
     } 
    ] 
} 
} 

Ma règle dans le tableau de décision guidée des regards J'aime this

Je souhaite effectuer une requête REST auprès du moteur de règles et obtenir le jeu de résultats sous forme de liste. Veuillez confirmer si ma demande JSON est correcte. Ou y a-t-il un meilleur moyen d'atteindre la même chose? Toute aide serait appréciée.

Merci & Cordialement

+0

Pour autant que je me souvienne, le KIE-établi, par par défaut, attend les charges utiles XML de vos requêtes, spécifiez-vous dans vos en-têtes que vous envoyez JSON? –

+0

Oui Je le spécifie en en-tête sous: -H 'X-KIE-ContentType: JSON' -H 'Type de contenu: application/json ' –

Répondre

0

que vous utilisez le format de demande JSON incorrecte. Avec la charge utile de demande JSON pas besoin d'utiliser « » lot-exécution », supprimer cette Et demande JSON correcte ressemblera comme:.

{ 
    "commands":[ 
     { 
     "insert":{ 
      "out-identifier":"obj", 
      "object":{ 
       "example.project4_91839699.Person":{ 
       "firstName":"abc", 
       "lastName":"abc", 
       "hourlyRate":22, 
       "wage":100  
       } 
      } 
     } 
    },{ 
     "insert":{ 
      "out-identifier":"obj2", 
      "object":{ 
       "example.project4_91839699.Person":{ 
       "firstName":"xyz", 
       "lastName":"xyz", 
       "hourlyRate":24, 
       "wage":100  
       } 
      } 
     } 
    } 
    { 
     "fire-all-rules":"" 
    } 
    ] 

}

+0

Merci Abhijit Cela fonctionne très bien Est-il possible de retourner la liste sans donner plusieurs objets d'insertion? Comme si je donne isBlacklisted = false, alors il devrait retourner 2 objets. –