tengo contrato:¿Por qué no puedo usar dos argumentos en un método WCF REST POST?
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, UriTemplate = "GetCategoriesGET/{userIdArg}", BodyStyle = WebMessageBodyStyle.Bare)]
List<Video> GetVideosGET(string userIdArg);
[WebInvoke(Method = "POST", UriTemplate = "evals")]
[OperationContract]
void SubmitVideoPOST(Video videoArg, string userId);
Y tengo los métodos de ejecución:
public List<Video> GetVideosGET(string userIdArg)
{
List<Video> catsToReturn = new List<Video>();
if (Int32.Parse(userIdArg) == 1)
{
catsToReturn = catsForUser1;
}
else if (Int32.Parse(userIdArg) == 2)
{
catsToReturn = catsForUser2;
}
return catsToReturn;
}
public void SubmitVideoPOST(Video videoArg, string userId)
{
}
Cuando hojeo a:
http://localhost:52587/Api/Content/VLSContentService.svc/GetCategoriesGET/1
Im conseguir este error:
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.
Solo comencé a obtener este error en la solicitud Obtener cuando agregué el nuevo método para POST (que no he intentado acceder), ¿qué significa esto? ¿Puedo usar más de un argumento?
aplausos, sí, lo siento, debería haber parecido más cerca, totalmente confundido con todo el asunto, pero lo conseguí gracias. – Exitos
Lo hice pero no funcionó – AMH
Hice lo mismo, pero no funcionaba. Eliminé el BodyStyle luego funcionó –