Отправка массива в XMLRPC?

#php #xml-rpc #xmlrpcclient

#php #xml-rpc #xmlrpcclient

Вопрос:

Я не могу понять, что с этим не так:

 $message = new xmlrpcmsg('service.RegistrationDetails',
    array(new xmlrpcval(
         array('EventId' => new xmlrpxval($EventId, "int"), 
             'ParticipantId' => new xmlrpxval($usrId, "int")), 'array') 
    )
);
  

это согласно документации на — http://phpxmlrpc.sourceforge.net/doc/xmlrpcval.html

но вышеприведенный сбой

 $result = $server->send($message);
  

Я пытался:

 $message = new xmlrpcmsg('service.RegistrationDetails',
    new xmlrpcval(
         array('EventId' => new xmlrpxval($EventId, "int"), 
             'ParticipantId' => new xmlrpxval($usrId, "int")), 'array') 
);
  

но это тоже не сработало


виноват! у меня там была опечатка — «xmlrpxval» вместо «xmlrpcval». я думаю, что второе должно сработать, но не уверен…

Комментарии:

1. Что вы подразумеваете под «сбоями»? Вы получаете сообщение об ошибке? Ошибка в сегменте?

2. привет — эмм — извините, php просто останавливается.

3. Проверните error_reporting до -1 конца и повторите попытку.

Ответ №1:

Это потому, что то, что вы пытаетесь определить, на самом деле не является массивом, это ассоциативный массив. Используйте struct вместо array , и это должно сработать.

Ответ №2:

Это сработало отлично:

 $message = new xmlrpcmsg('abc.abcDetails', array(new xmlrpcval($cId, 'int'), new xmlrpcval($dStr,'string') ));