IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

Erreur 404 Not Found -Serveur API-requete PostAsync


Sujet :

Services Web

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut Erreur 404 Not Found -Serveur API-requete PostAsync
    Bonjour,

    J'ai crée un service qui permet d'ajouter des auteurs et des livres en base de données.

    Le projet de départ est le service Web e-bibliotheque, qui fait appel aux méthodes de la classe ServiceAuteur d'une application Console ConsommerAPI.

    ConsommerAPI fait appel au service web ServeurAPI qui permet l'ajout en BDD d'un auteur.

    Dans la classe ServiceAuteur, j'ai crée cette constante avec cette adresse, qui est celle que je vois quand je vais dans la barre des tâches au niveau du serveur IISExpress(voir capt ecran)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private const string urlAPI = "http://localhost:41380/api/";
    J'ai également ajouté cela au niveau du Namespace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     [RoutePrefix("api/Auteur")]
    La méthode AjouterUnauteur de la classe ServiceAuteur est la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
     [HttpPost]
            [Route("auteur")]
            public async Task<Auteur> AjouterUnAuteur(Auteur auteur)
            {
                HttpResponseMessage objetReponse =null;
                try
                {
                    HttpClient client = new HttpClient();
     
                    //sérialization d'un auteur passé en paramètre au format JSON
                    //la classe de base JsonMediaTypeFormatter gère la sérialisation et la désérialisation des objets fortement typés à l'aide de l'ObjectContent. 
                    ObjectContent<Auteur> content = new ObjectContent<Auteur>(auteur, new JsonMediaTypeFormatter());
     
                    //la méthode PostAsync envoie une requête asynchrone POST vers le serveur d'API à une méthode Post
                    objetReponse = await client.PostAsync($"{urlAPI}Auteur/", content);
     
                    //si ce POST s'est bien effectué
                    if (objetReponse.IsSuccessStatusCode)
                    {
                        return auteur;
                    }//fin de if
                    else if (objetReponse.StatusCode == System.Net.HttpStatusCode.NotFound)
                    {
                        //l'instruction return null concerne une fonction  renvoyant un objet , l'instruction return concerne une fonction  ne renvoyant rien, c'est à dire avec le type de retour void
                        return null;
                    }//fin de else 
     
                }//fin de try
                catch(Exception ex)
                {
                    Console.WriteLine( $"Un problème avec API : status = {objetReponse.StatusCode}");
                    Console.WriteLine(ex.Message);
     
                }//fin de catch
                return null;
     
            }//fin de AjouterUnAuteur

    Chaque fois que je débogue, au niveau de la cette méthode , j'ai une erreur au niveau de cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     objetReponse = await client.PostAsync($"{urlAPI}Auteur/", content);
    {StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
    {
    X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcaGFyQDQzXERvY3VtZW50c1xlX2JpYmxpb3RoZXF1ZVxlLUJpYmxpb3RoZXF1ZVxhcGlcQXV0ZXVyXA==?=
    Cache-Control: private
    Date: Tue, 16 Jan 2024 14:40:08 GMT
    Server: Microsoft-IIS/10.0
    X-AspNet-Version: 4.0.30319
    X-Powered-By: ASP.NET
    Content-Length: 3300
    Content-Type: text/html; charset=utf-8
    }}

    J'ai tout essayé (si, si )pour tenter de résoudre ce problème, mais sans succès,et tourne en rond (notamment ajouter [HttpPost]
    [Route("auteur")] au niveau des methodes de ServiceAuteur, ) mais ne sais plus où me diriger pour resoudre ce pb.

    Je vous informe que j'ai ajouté la reference ConsommerApi au projet e-bibliotheque et que j'ai ajouté la reference ServeurAPI au projet ConsommerApi , qui , au niveau de ServiceAuteur doit pouvoir accéder au Serveur API.

    Merci beaucoup à vous de votre aide car je ne m'y retrouve plus malgré mes nombreuses tentatives de resoudre ce pb!


    Bien cordialement.

    new_wave
    Images attachées Images attachées     

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur 404 Not Found Servlet
    Par ambe_fr dans le forum NetBeans
    Réponses: 1
    Dernier message: 27/07/2013, 12h37
  2. Erreur "404 not found"
    Par daydream123 dans le forum Spring
    Réponses: 2
    Dernier message: 03/02/2012, 15h58
  3. Erreur "faultString: (404)Not Found"
    Par notoriuous1 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 28/12/2011, 13h15
  4. Apex et erreur 404 Not Found
    Par Kazevil dans le forum Administration
    Réponses: 1
    Dernier message: 25/03/2010, 14h47
  5. [phpBB][3] Erreur 404 not found lors de la demande de la page d'installation
    Par juninho dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 14
    Dernier message: 12/01/2008, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo