@@ -45,7 +45,7 @@ class Server
45
45
/**
46
46
* @var string
47
47
* Defines how functions in $dmap will be invoked: either using an xml-rpc Request object or plain php values.
48
- * Valid strings are 'xmlrpcvals', 'phpvals' or 'epivals' (only for use by polyfill-xmlrpc).
48
+ * Valid strings are 'xmlrpcvals', 'phpvals' or 'epivals' (the latter only for use by polyfill-xmlrpc).
49
49
*
50
50
* @todo create class constants for these
51
51
*/
@@ -163,7 +163,7 @@ class Server
163
163
* - docstring (optional)
164
164
* - signature (array, optional)
165
165
* - signature_docs (array, optional)
166
- * - parameters_type (string, optional)
166
+ * - parameters_type (string, optional). Valid values: 'phpvals', 'xmlrpcvals'
167
167
* - exception_handling (int, optional)
168
168
* @param boolean $serviceNow set to false in order to prevent the server from running upon construction
169
169
*/
@@ -710,6 +710,9 @@ public function parseRequest($data, $reqEncoding = '')
710
710
711
711
$ xmlRpcParser = $ this ->getParser ();
712
712
try {
713
+ // NB: during parsing, the actual type of php values built will be automatically switched from
714
+ // $this->functions_parameters_type to the one defined in the method signature, if defined there. This
715
+ // happens via the parser making a call to $this->methodNameCallback as soon as it finds the desired method
713
716
$ _xh = $ xmlRpcParser ->parse ($ data , $ this ->functions_parameters_type , XMLParser::ACCEPT_REQUEST , $ options );
714
717
// BC
715
718
if (!is_array ($ _xh )) {
0 commit comments