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

Plugins PHP Discussion :

[Mercure] Couldn't connect to server for "http://localhost:3000/.well-known/mercure".


Sujet :

Plugins PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 162
    Points : 62
    Points
    62
    Par défaut [Mercure] Couldn't connect to server for "http://localhost:3000/.well-known/mercure".
    Hello,
    Je suis débutant sur symfony 5
    J'ai un souci avec l'utilisation de mercure sur projet Symfony,
    j'ai installé mercure à la racine de mon projet, cependant quand je test l'envoi d'une requête à mercure, j'ai l'erreur
    Couldn't connect to server for "http://localhost:3000/.well-known/mercure"
    alors que l'url http://localhost:3000/.well-known/mercure est bien accessible en local.

    Configuration .env.local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MERCURE_PUBLISH_URL=http://localhost:3000/.well-known/mercure
    MERCURE_JWT_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InB1Ymxpc2giOlsiKiJdfX0.obDjwCgqtPuIvwBlTxUEmibbBf0zypKCNzNKP7Op2UM
    configuration .env :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ###> symfony/mercure-bundle ###
    # See https://symfony.com/doc/current/mercure.html#configuration
    MERCURE_PUBLISH_URL=http://localhost:3000/.well-known/mercure
    # The default token is signed with the secret key: !ChangeMe!
    MERCURE_JWT_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InB1Ymxpc2giOlsiKiJdfX0.obDjwCgqtPuIvwBlTxUEmibbBf0zypKCNzNKP7Op2UM
    ###< symfony/mercure-bundle ###
    Création token JWT via JWT.io :
    Nom : chrome_2020-07-13_23-13-36.png
Affichages : 1842
Taille : 41,1 Ko

    Commande pour lancer mercure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./mercure --jwt-key='!ChangeMe!' --addr='localhost:3000' --allow-anonymous --cors-allowed-origins='*'
    Mon controller :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
     
    namespace App\Controller;
     
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Mercure\PublisherInterface;
    use Symfony\Component\Mercure\Update;
    use Symfony\Component\Routing\Annotation\Route;
     
    /**
     * Class InterestController
     * @package App\Controller
     */
    class InterestController extends AbstractController
    {
     
        /**
         * @Route("/profil/{user_id}/interets", name="user_interests", requirements={"user_id":"\d+"})
         * @ParamConverter("user", options={"mapping": {"user_id" : "id"}})
         * @ParamConverter("profil", options={"mapping": {"user_id" : "user_id"}})
         */
        public function index()
        {
            return $this->render('interest/index.html.twig', [
                'controller_name' => 'InterestController',
            ]);
        }
     
        /**
         * @Route("/ping", name="ping", methods={"POST"})
         * @param PublisherInterface $publisher
         * @return Response
         */
        public function __invoke(PublisherInterface $publisher): Response
        {
            $update = new Update(
                'http://monsite.com/ping',
                json_encode(['status' => 'OutOfStock'])
            );
     
            // The Publisher service is an invokable object
            $publisher($update);
     
            return new Response('published!');
        }
    }
    Test en front :
    Code twig : 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
    {% extends 'base.html.twig' %}
    {% block body %}
                        <form id="interest-form" action="{{ path('ping') }}" method="POST">
                            <a  href="javascript:{}" onclick="document.getElementById('interest-form').submit();" class="send-interest">
                            </a>
                        </form>
    {% endblock %}
    {% block javascripts %}
        <script>
            // URL is a built-in JavaScript class to manipulate URLs
            const eventSource = new EventSource('http://localhost:3000/.well-known/mercure?topic=' + encodeURIComponent('http://monsite.com/ping'));
            eventSource.onmessage = event => {
                // Will be called every time an update is published by the server
                console.log(JSON.parse(event.data));
            }
        </script>
    {% endblock %}

    Quand je test via l'outil POSTMAN aucun souci avec le Bearer Token :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InB1Ymxpc2giOlsiKiJdfX0.obDjwCgqtPuIvwBlTxUEmibbBf0zypKCNzNKP7Op2UM
    Nom : VirtualBoxVM_2020-07-13_23-17-58.png
Affichages : 1808
Taille : 28,4 Ko

    Malgrès mes efforts pour démêler la source du problème je suis dans l'impasse.. toujours cette erreur lorsque que je soumet mon formulaire de test #"interest-form
    Couldn't connect to server for "http://localhost:3000/.well-known/mercure".
    Nom : VirtualBoxVM_2020-07-13_23-16-03.png
Affichages : 1825
Taille : 74,3 Ko
    Coté serveur Mercure je récup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    127.0.0.1 - - [13/Jul/2020:17:24:32 -0400] "GET /.well-known/mercure?topic=http%3A%2F%2Fmonsite.com%2Fping HTTP/1.1" 200 2 "http://my_website.fr:81/profil/3" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) snap Chromium/83.0.4103.116 Chrome/83.0.4103.116 Safari/537.36"
    J'ai pourtant suivi la doc : https://symfony.com/doc/current/mercure.html

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour, avez vous trouvé une solution ?
    Je suis dans le même problème...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Points : 25
    Points
    25
    Par défaut
    J'avais ce meme problème mais j'avais remplacé le port 3000 par celui de symfony par défaut qui est 8000 et ça marche

Discussions similaires

  1. [Web Service] NuSOAP : HTTP Error: Couldn't open socket connection to server
    Par victoires dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 19/11/2014, 13h56
  2. Réponses: 3
    Dernier message: 11/10/2014, 00h14
  3. [MongoDB] Error: couldn't connect to server
    Par aritas dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 24/04/2012, 17h54
  4. [Ocamlviz] couldn't connect to the server
    Par asefthukom dans le forum Caml
    Réponses: 0
    Dernier message: 15/09/2011, 15h31
  5. Réponses: 4
    Dernier message: 12/05/2010, 20h39

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