функция в api.xml:
Код: Выделить всё
<function name="rpcf_set_radius_attr" id="0x10100">
<input>
<integer name="sid" />
<integer name="st" />
<integer name="cnt" />
<for name="i" from="0" count="cnt">
<integer name="vendor" array_index="i" />
<integer name="attr" array_index="i" />
<integer name="param1" array_index="i" />
<if variable="param1" value="1" condition="eq">
<string name="cval" array_index="i" />
</if>
<if variable="param1" value="1" condition="ne">
<integer name="ival" array_index="i" />
</if>
</for>
</input>
<output/>
</function>
Код: Выделить всё
<?xml version="1.0"?>
<urfa>
<call function="rpcf_set_radius_attr">
<parameter name="sid"/>
<!-- <parameter name="iattr"/>
<parameter name="oattr"/> -->
<parameter name="st" value="3" />
<parameter name="cnt" value="1" />
<array name="i">
<item>
<integer name="vendor" value="9"/>
<integer name="attr" value="1"/>
<integer name="param1" value="1"/>
<string name="cval" value="xxx"/>
</item>
<item>
<integer name="vendor" value="9"/>
<integer name="attr" value="1"/>
<integer name="param1" value="1"/>
<string name="cval" value="yyy"/>
</item>
</array>
</call>
</urfa>
получаю:
Код: Выделить всё
Notice: May 12 21:15:34 UTM5 Config: Processing config file: /netup/utm5/utm5_u rfaclient.cfg
Processing action: set_radattr
st=>3
cnt=>2
Mandatory parameter vendor value not specified
ERROR: Mandatory parameter value not specified
[root@radius /netup/utm5/xml]# ../bin/utm5_urfaclient -a set_radattr -sid 202 -d ebug
Notice: May 12 21:15:41 UTM5 Config: Processing config file: /netup/utm5/utm5_u rfaclient.cfg
Processing action: set_radattr
st=>3
cnt=>2
<call> tag: rpcf_set_radius_attr
Processing call rpcf_set_radius_attr
URFA Call: 0x10100
cnt=>'2';
sid=>'202';
st=>'3';
process_input start
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <sid> value <202>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <st> value <3>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <cnt> value <2>
input loop begin
from <0> count <2> counter <i>
FAILED TO PARSE INDEXES:
for: counter: i value: 0
process_input start
Mandatory parameter vendor value not specified
ERROR: Mandatory parameter value not specified
гугл не помог. документации на урфу нормальной тоже не видно ( ау, нетап -- где описание? лицензию я купил, между прочим... )