 import mx.rpc.AbstractService;
 import mx.rpc.AsyncRequest;
 import mx.rpc.AsyncToken;
+import mx.utils.URLUtil;
 
 use namespace mx_internal;
 

    }

    /**
     * If the rootURL property is not set on the operation, it is inherited from
     * the service level.
     */
    override public function get rootURL():String
    {
        if (_rootURL == null)
        {
            if (_multiService.baseURL != null)
            {
                if (_multiService.baseURL.charAt(_multiService.baseURL.length - 1) != '/')
                    return _multiService.baseURL + "/";
                return _multiService.baseURL;
            }
            else
                return super.rootURL; // defaults to SWF's URL

                    throw new ArgumentError("HTTPMultiService operation called with " + argumentNames.length + " argumentNames and " + args.length + " number of parameters.  When argumentNames is specified, it must match the number of arguments passed to the invocation");
                else
                {
                    // Special case for XML content type when only one parameter is provided.
                    // This gets rid of the need for a serializationFilter for this simple case.
                    // If there is more than one parameter though, we do not have a reliable way
                    // to turn the arguments into a body.
                    if (argumentNames.length == 1 && contentType == CONTENT_TYPE_XML)
                    {
                        params = args[0];
                    }
                    else
                    {
                        for (var i:int = 0; i < argumentNames.length; i++)
                            params[argumentNames[i]] = args[i];
                    }
                }
            }
        }
