Есть такой xml файл:
Код: Выделить всё
<?xml version="1.0"?>
<urfa>
<call function="rpcf_add_service_to_tariff" >
<parameter name="tariff_id" value="400"/>
<parameter name="parent_id" value="137"/>
<parameter name="service_name" value="test"/>
<parameter name="service_type" value="3"/>
<parameter name="comment" value="test"/>
<parameter name="link_by_default" value="1" />
<parameter name="is_dynamic" value="0"/>
<parameter name="cost" value="0"/>
<parameter name="periodic_type" value="1"/>
<parameter name="discount_method" value="1"/>
<parameter name="start_date" value="now()"/>
<parameter name="expire_date" value="max_time()"/>
<parameter name="null_service_prepaid" value="0"/>
<!-- array of borders -->
<parameter name="tclass_b" />
<parameter name="size_b" />
<parameter name="cost_b" />
</call>
</urfa>
Код: Выделить всё
/netup/utm5/bin/utm5_urfaclient -h "" -p 11758 -l "" -P "" -x /netup/utm5/xml/ -a add_tariff1 -tclass_b 104 -size_b 400 -cost_b 0 -tclass_b 104 -size_b 0 -cost_b 1 -debug
Код: Выделить всё
Notice: Oct 29 14:45:51 UTM5 Config: Processing config file: /netup/utm5/utm5_urfaclient.cfg
Processing action: add_tariff1
<call> tag: rpcf_add_service_to_tariff
Processing call rpcf_add_service_to_tariff
URFA Call: 0x3014
comment=>'test';
cost=>'0';
cost_b=>'0'; '1';
discount_method=>'1';
expire_date=>'max_time()';
is_dynamic=>'0';
link_by_default=>'1';
null_service_prepaid=>'0';
parent_id=>'137';
periodic_type=>'1';
service_name=>'test';
service_type=>'3';
size_b=>'400'; '0';
start_date=>'now()';
tariff_id=>'400';
tclass_b=>'104'; '104';
process_input start
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <tariff_id> value <400>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <parent_id> value <137>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing string <service_name> value <test>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <service_type> value <3>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing string <comment> value <test>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <link_by_default> value <1>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <is_dynamic> value <0>
process_input start
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing double <cost> value <0>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <periodic_type> value <1>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <discount_method> value <1>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <start_date> value <0>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <expire_date> value <0>
INDEXES (0) : 0
get_var_value: curr index 0 var.list.size 0 var.size 1
Passing int <null_service_prepaid> value <0>
expression: size(tlass_b) var: tlass_b indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tlass_b
Passing int <number_of_borders> value <0>
input loop begin
expression: size(tlass_b) var: tlass_b indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tlass_b
from <0> count <0> counter <i>
input loop end
expression: size(tclass_p) var: tclass_p indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tclass_p
Passing int <number_of_prepaid> value <0>
input loop begin
expression: size(tclass_p) var: tclass_p indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tclass_p
from <0> count <0> counter <i>
input loop end
expression: size(tcid) var: tcid indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tcid
Passing int <number_of_groups> value <0>
input loop begin
expression: size(tcid) var: tcid indexes:
FAILED TO PARSE INDEXES:
get_expression_value: size: variable not foubnd: tcid
from <0> count <0> counter <i>
input loop end
process_input end
process_input end
<?xml version="1.0"?>
<urfa>
<session key="efb3ca4cc4b9d269317d1c1b1d94c891"/>
<call function="rpcf_add_service_to_tariff">
<output/>
</call>
</urfa>

Добавляем еще одну переменную в xml файл:
Код: Выделить всё
........................................
<!-- array of borders -->
<parameter name="number_of_borders" />
<parameter name="tclass_b" />
<parameter name="size_b" />
<parameter name="cost_b" />
...................
Код: Выделить всё
?Debug : Oct 29 14:49:34 RPCConn<@>: Call: 0x00a2 (urfaclient-call)
?Debug : Oct 29 14:49:34 RPCConn<@>: Real Call: 0x00a2 (urfaclient-call)
?Debug : Oct 29 14:49:34 RPCConn<@>: Call 0x00a2 (urfaclient-call) finished...
?Debug : Oct 29 14:49:34 RPCConn<@>: Stream cleared
?Debug : Oct 29 14:49:34 RPCConn<@>: Call: 0x3014 (rpcf_add_service_to_tariff)
?Debug : Oct 29 14:49:34 RPCConn<@>: Real Call: 0x3014 (rpcf_add_service_to_tariff)
---------------тут мы нажали ctrl+c----------------------------------------
?Debug : Oct 29 14:50:34 RPCConn<@>: Call 0x3014 (rpcf_add_service_to_tariff) finished...
?Debug : Oct 29 14:50:34 RPCConn<@>: Stream cleared
Warn : Oct 29 14:50:34 RPCConn<@>: Session closed
?Debug : Oct 29 14:50:34 RPCConn<@>: Session stored for UID -30 from <192.168.119.1>
?Debug : Oct 29 14:50:34 RPCConn<@>: Session closed...
Код: Выделить всё
ERROR : Oct 29 14:54:51 RPCServer@0.0.0.0: Exception in rpcf_add_service_to_tariff: #22