2016-09-01 12 views
1

私はJboss BRMSのデシジョンテーブルを使用してルールを作成し、kie-serverを使用してRESTサービスとしてデプロイしました。しかし、サービスにパラメータを渡す方法を見つけることはできません。RestクライアントからJboss BRMSルールに入力パラメータを渡す方法

テストシナリオを作成してルールサービスを実行すると、正常に動作します。

KIE-コンテナはくれ


http://host:port/kie-server/services/rest/server/containers/container1 などのエンドポイントを示します。しかし、私は、RESTクライアント(アドバンスト休憩クライアント)を使用して、サービスにパラメータを渡す方法を見つけることができません。

私はこのパラメータをリクエストとともに送信し、次の応答を返します。

REQUEST

{ 
"commands":[ 
    { 
     "insert":{ 
     "out-identifier":"Customer", 
     "return-object":"true", 
     "object": { 
      "example.si.Customer":{ 
      "time":3, 
      "age":70, 
      "gender":"MALE" 
      } 
     } 
     } 
    }, 
    { 
     "fire-all-rules":"" 
    } 
] 
    } 

    >HEADERS 
    X-KIE-ContentType: JSON 
    Accept: application/json 
    Content-Type: application/json 
    authorization: Basic a2llc2VydmVyOmtpZXNlcnZlcjEh 


>RESPONSE 
    { 
     "type": "SUCCESS" 
     "msg": "Container sinterest5 successfully called." 
     "result": "{ "results" : [ { "key" : "", "value" : 0 }, { "key" : "Customer", "value" : {"example.si.Customer":{ "time" : 3, "age" : 70, "interest" : null, "gender" : "MALE", "rate" : null, "amount" : null }} } ], "facts" : [ { "key" : "Customer", "value" :  {"org.drools.core.common.DefaultFactHandle":{ "external-form" : "0:5:695977235:695977235:5:DEFAULT:NON_TRAIT:example.si.Customer" }} } ]  }" 
     } 



And my Rule is.. 


package Deciding_Rates; 
    //generated from Decision Table 
    import example.si.Customer; 
    function void interest(int time, int rate, int amount) 
    {System.out.println ((time * rate * amount)/100  );System.out.println(System.currentTimeMillis());} 
     lock-on-active true 
     // rule values at C15, header at C10 
     rule "DecidingRate_15" 
     ruleflow-group "Rate" 
     when 
     $customer : Customer(Time< 5, Age>=65, Gender == "MALE") 
     then 
     modify($customer){setRate(10)}; 
     System.out.println("Time < 5, Senior, Male"); 
     interest($customer.getTime(), $customer.getRate(), 100); 
    end 

    // rule values at C16, header at C10 
     rule "DecidingRate_16" 
     ruleflow-group "Rate" 
     when 
      $customer : Customer(Time< 5, Age>=65, Gender == "FEMALE") 
     then 
     modify($customer){setRate(11)}; 
     System.out.println("Time < 5, Senior, Female"); 
     interest($customer.getTime(), $customer.getRate(), 100); 
     end 

     // rule values at C17, header at C10 
     rule "DecidingRate_17" 
     ruleflow-group "Rate" 
     when 
     $customer : Customer(Time< 5, Age<65, Gender == "MALE") 
     then 
     modify($customer){setRate(8)}; 
     System.out.println("Time < 5, young, Male"); 
      interest($customer.getTime(), $customer.getRate(), 100); 
      end 

私はここで何も悪いことをやっていますか? Sysoutsはサーバーログには表示されません。私のルールが解雇されているかどうかはわかりません。

+0

もしあなたの助け.. –

答えて

関連する問題