title: Why cant I use two arguments in a WCF REST POST method?
body: <p>I have the contract:</p>
  
  <pre><code>    [OperationContract]
      [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, UriTemplate = "GetCategoriesGET/{userIdArg}", BodyStyle = WebMessageBodyStyle.Bare)]
      List&lt;Video&gt; GetVideosGET(string userIdArg);
  
      [WebInvoke(Method = "POST", UriTemplate = "evals")]
      [OperationContract]
      void SubmitVideoPOST(Video videoArg, string userId);
  </code></pre>
  
  <p>And I have the implementing methods:</p>
  
  <pre><code>public List&lt;Video&gt; GetVideosGET(string userIdArg)
  {
  
    List&lt;Video&gt; catsToReturn = new List&lt;Video&gt;();
  
    if (Int32.Parse(userIdArg) == 1)
    {
        catsToReturn = catsForUser1;
    }
    else if (Int32.Parse(userIdArg) == 2)
    {
        catsToReturn = catsForUser2;
    }
  
    return catsToReturn;
  
    }
  
  
    public void SubmitVideoPOST(Video videoArg, string userId)
    {
  
    }
  </code></pre>
  
  <p>When I browse to:</p>
  
  <pre><code>http://localhost:52587/Api/Content/VLSContentService.svc/GetCategoriesGET/1
  </code></pre>
  
  <p>Im getting this error:</p>
  
  <blockquote>
    <p>Server Error in '/' Application.
    Operation 'SubmitVideoPOST' of
    contract 'IVLSContentService'
    specifies multiple request body
    parameters to be serialized without
    any wrapper elements. At most one body
    parameter can be serialized without
    wrapper elements. Either remove the
    extra body parameters or set the
    BodyStyle property on the
    WebGetAttribute/WebInvokeAttribute to
    Wrapped.</p>
  </blockquote>
  
  <p>I only started getting this error on the Get request when I added the new method for POST (which I havent tried to access), what does this mean? Cant I use more than one argument?</p>