@@ -45,7 +45,7 @@ class Server
4545 /**
4646 * @var string
4747 * 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).
4949 *
5050 * @todo create class constants for these
5151 */
@@ -163,7 +163,7 @@ class Server
163163 * - docstring (optional)
164164 * - signature (array, optional)
165165 * - signature_docs (array, optional)
166- * - parameters_type (string, optional)
166+ * - parameters_type (string, optional). Valid values: 'phpvals', 'xmlrpcvals'
167167 * - exception_handling (int, optional)
168168 * @param boolean $serviceNow set to false in order to prevent the server from running upon construction
169169 */
@@ -710,6 +710,9 @@ public function parseRequest($data, $reqEncoding = '')
710710
711711 $ xmlRpcParser = $ this ->getParser ();
712712 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
713716 $ _xh = $ xmlRpcParser ->parse ($ data , $ this ->functions_parameters_type , XMLParser::ACCEPT_REQUEST , $ options );
714717 // BC
715718 if (!is_array ($ _xh )) {
0 commit comments