2014-01-27 44 views
0

我一直在使用WSO2 balana樣本,並且遇到了代碼以從XACML響應中獲取建議。如何獲得WSO2 balana的義務

StringBuilder Advice = new StringBuilder(); 
       List<Advice> advices = result.getAdvices(); 
       for(Advice advice : advices){ 
        List<AttributeAssignment> assignments = advice.getAssignments(); 
        for(AttributeAssignment assignment : assignments){ 
         Advice.append("Advice : " + assignment.getContent() +"\n\n"); 
        } 
       } 
       obj1.Advice = Advice.toString(); 

以同樣的方式,我想取的義務,我該怎麼辦呢?

回答

0

是的..你可以做到這一點。但在這裏,您需要將您的義務結果對象轉換爲相關義務類型(XACML 2或XACML 3)。你可以在那裏做一些「instanceof」檢查。當

  List<ObligationResult> obligations = result.getObligations(); 
      for(ObligationResult obligation : obligations){ 
       if(obligation instanceof org.wso2.balana.xacml3.Obligation){ 
        List<AttributeAssignment> assignments = ((org.wso2.balana.xacml3.Obligation)obligation).getAssignments(); 
        for(AttributeAssignment assignment : assignments){ 
         System.out.println("Obligation : " + assignment.getContent() +"\n\n"); 
        } 
       } 
      } 
+0

由於Asela。但是,我有與所述響應對象中的字符串轉換爲一個文件併到達特定元件沒有顧慮。但我有在響應對象迭代的屬性的關注,來自PDP的迴應非常大。它會不會降低性能? –

+0

@NaveenRayappa您能否向我發送使用義務的請求和響應格式?在balana – Milson

相關問題