none
Problema de como envio un objeto json mediante IHTTPContent a mi servicio REST RRS feed

Respuestas

  • Tienes un problema con tu servicio, te está dando: Método no permitido

    response {StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1, Content: Windows.Web.Http.HttpStreamContent, Headers:
    {
      Connection: close
      Server: Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
      Cache-Control: no-cache
      Set-Cookie: laravel_session=eyJpdiI6Ik1hVVdBZFdMdnp4ZDJ2MnNaT0U5RkE9PSIsInZhbHVlIjoiaUNHZE1nU093NVM4XC9wSWR

    jQWRQWmVtZm1nMDRrc21ucExpNzN5bGRDZ0hRbEhQdGlQZFAyOVhjUDJZdXNjREhPYTRUaHFxaEw3QzZZR

    Vp3MVlOUVJnPT0iLCJtYWMiOiI5NmFhMGE2ZjQxYmY2MTE0MzNjNTFkYTJhMjRhMjFjY2Q4MWZlOGQ2MWQxZGFiM

    zIyMDNmMzc4NTNmNDg4MmJlIn0%3D; expires=Fri, 24-Oct-2014 16:55:15 GMT; Max-Age=7200; path=/; httponly
      Date: Fri, 24 Oct 2014 14:55:15 GMT
      X-Powered-By: PHP/5.5.11
      Allow: GET, HEAD, PUT, PATCH, DELETE
    }{
      Content-Type: text/html
    }} Windows.Web.Http.HttpResponseMessage

    O no está correcta la url o no tienes acceso al método. Revisa la parte de PHP que hiciste en un navegador para ver que estás haciendo mal. 

    Un saludo. 


    Ruben Fernandez - http://www.rfsouto.com

    • Marcado como respuesta onzulin miércoles, 5 de noviembre de 2014 12:41
    martes, 4 de noviembre de 2014 8:33

Todas las respuestas

  • La respuesta depende de cómo procesas el contenido del HTTP request en tu servidor HTTP.

    La forma más sencilla de enviar texto es:

    HttpStringContent stringContent = new HttpStringContent(
        "[1, 2, 3]",
        UnicodeEncoding.Utf8,
        "application/json");
    
    HttpClient client = new HttpClient();
    HttpResponseMessage response = await client.PostAsync(uri, stringContent);
    

    Otra opción es HttpFormUrlEncodedContent:

    Dictionary<string, string> pairs = new Dictionary<string,string>();
    pairs.Add("Name", "Bob");
    pairs.Add("Age", "18");
    HttpFormUrlEncodedContent formContent = new HttpFormUrlEncodedContent(pairs);
    

    Y otra opción es HttpMultipartFormDataContent:

    HttpMultipartFormDataContent multipartContent = new HttpMultipartFormDataContent();
    multipartContent.Add(new HttpStringContent("[1, 2, 3]",
        UnicodeEncoding.Utf8,
        "application/json"), "field1");
    

    Esta última opcion es generalmente usada para enviar archivos.


    • Propuesto como respuesta rf1souto miércoles, 5 de noviembre de 2014 12:43
    jueves, 23 de octubre de 2014 21:14
  • Bueno parece que funciona pero por ultimo me pone esto dentro del objeto response aqui te dejo el codigo

    http://pastebin.com/knUAPFYW

    bueno y tambien te voy a dejar el codigo del controlador que tengo ¿porque no se donde esta el error 

    http://pastebin.com/2WUGTPfh

    el codigo de todo el servicio REST lo tengo publicado en github si lo necesitas te lo puedo dar, saludos.


    viernes, 24 de octubre de 2014 15:11
  • Parece que la respuesta del objeto response no es la adecuada aqui te dejo el codigo 

    response {StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1, Content: Windows.Web.Http.HttpStreamContent, Headers:
    {
      Connection: close
      Server: Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
      Cache-Control: no-cache
      Set-Cookie: laravel_session=eyJpdiI6Ik1hVVdBZFdMdnp4ZDJ2MnNaT0U5RkE9PSIsInZhbHVlIjoiaUNHZE1nU093NVM4XC9wSWR

    jQWRQWmVtZm1nMDRrc21ucExpNzN5bGRDZ0hRbEhQdGlQZFAyOVhjUDJZdXNjREhPYTRUaHFxaEw3QzZZR

    Vp3MVlOUVJnPT0iLCJtYWMiOiI5NmFhMGE2ZjQxYmY2MTE0MzNjNTFkYTJhMjRhMjFjY2Q4MWZlOGQ2MWQxZGFiM

    zIyMDNmMzc4NTNmNDg4MmJlIn0%3D; expires=Fri, 24-Oct-2014 16:55:15 GMT; Max-Age=7200; path=/; httponly
      Date: Fri, 24 Oct 2014 14:55:15 GMT
      X-Powered-By: PHP/5.5.11
      Allow: GET, HEAD, PUT, PATCH, DELETE
    }{
      Content-Type: text/html
    }} Windows.Web.Http.HttpResponseMessage

    y aqui el codigo de lo que he hecho

    http://pastebin.com/knUAPFYW

    controlador para que veas como lo he programado

    http://pastebin.com/2WUGTPfh

    saludos y gracias.

    viernes, 24 de octubre de 2014 15:20
  • Tienes un problema con tu servicio, te está dando: Método no permitido

    response {StatusCode: 405, ReasonPhrase: 'Method Not Allowed', Version: 1, Content: Windows.Web.Http.HttpStreamContent, Headers:
    {
      Connection: close
      Server: Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
      Cache-Control: no-cache
      Set-Cookie: laravel_session=eyJpdiI6Ik1hVVdBZFdMdnp4ZDJ2MnNaT0U5RkE9PSIsInZhbHVlIjoiaUNHZE1nU093NVM4XC9wSWR

    jQWRQWmVtZm1nMDRrc21ucExpNzN5bGRDZ0hRbEhQdGlQZFAyOVhjUDJZdXNjREhPYTRUaHFxaEw3QzZZR

    Vp3MVlOUVJnPT0iLCJtYWMiOiI5NmFhMGE2ZjQxYmY2MTE0MzNjNTFkYTJhMjRhMjFjY2Q4MWZlOGQ2MWQxZGFiM

    zIyMDNmMzc4NTNmNDg4MmJlIn0%3D; expires=Fri, 24-Oct-2014 16:55:15 GMT; Max-Age=7200; path=/; httponly
      Date: Fri, 24 Oct 2014 14:55:15 GMT
      X-Powered-By: PHP/5.5.11
      Allow: GET, HEAD, PUT, PATCH, DELETE
    }{
      Content-Type: text/html
    }} Windows.Web.Http.HttpResponseMessage

    O no está correcta la url o no tienes acceso al método. Revisa la parte de PHP que hiciste en un navegador para ver que estás haciendo mal. 

    Un saludo. 


    Ruben Fernandez - http://www.rfsouto.com

    • Marcado como respuesta onzulin miércoles, 5 de noviembre de 2014 12:41
    martes, 4 de noviembre de 2014 8:33
  • Gracias era por intentar hacer el registro de usuarios con la direccion mal, probe con http://192.168.1.2/laravelplan/public/api/rest/users y mandar le json ahi y funciono el registro, muchas gracias.
    miércoles, 5 de noviembre de 2014 12:56
  • Gracias era por intentar hacer el registro de usuarios con la direccion mal, probe con http://192.168.1.2/laravelplan/public/api/rest/users y mandar le json ahi y funciono el registro, muchas gracias.
    Un placer, a seguir currando en esa app! ;) 

    Ruben Fernandez - http://www.rfsouto.com

    miércoles, 5 de noviembre de 2014 13:03