Проблема, передаю в xml-rpc клиенте аргументом строку(точно строку!), а на сервер приходит массив из одного элемента с этим значением, ниже код, кто подскажет из-за чего это буду очень благодарен, еще ниже временное случайно найденное решение, которое мне не нравится, потому что это или баг или еще что, когда нибудь возможно перестанет работать.
Спасибо! Помогло. Хоть в доках это есть, но как то упустил из виду, так как на паре проектов работало и без этого. Хотелось бы только понять, почему авто преобразование из родных php типов в xml-rpc типы иногда срабатывают, иногда нет. Я бы еще понял если бы это произошло с массивом или объектом, но строка… Это удивило.
Уверен, что на той паре проектов, о которых Вы говорите, была другая реализация серверной части. Если лень каждый раз типизировать строки, и в подавляющем большинстве у Вас аргументом будет строка, то логично сделать обработку входящего массива как-то так:
/**
* function needString
* @param string $string
*/
function needString($string)
{
$value = array_shift($string);
//Code
}
И это не костыль, это Ваша реализация сервера, исходя из потребностей, только непрозрачное поведение следует задокументировать, так часто делают 8)