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

Apache Discussion :

Problème de connexion entre une appli Windows Phone 8 et Wamp


Sujet :

Apache

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème de connexion entre une appli Windows Phone 8 et Wamp
    Bonjour à tous,

    Aprés 2 jours de recherches, et malgré mon ami Google, je me tourne vers vous.
    J'essaye de développer une appli pour Windows Phone 8 sur Visual Studio 2012.
    Le but est de me connecter à une API REST Symfony2 sur Wamp pour envoyer et recevoir des données json.
    Ayant 2 projets en Symfony, j'ai le serveur localhost plus 2 autres serveurs locaux sur l'ordinateur.
    Comme je débute dans ce domaine, je voudrais pour l'instant me connecter au serveur local "appli" d'Apache en tant qu'anonyme, récupérer un string et l'afficher sur le téléphone.
    J'arrive à récupérer le string depuis mon serveur "appli".
    Mais quand j'essaye depuis l'émulateur de Visual Studio, une erreur 403 est retournée.
    Alors je suppose que l'émulateur accède à Apache mais que l'accès est bloqué suite à un défaut d'authentification.
    Et je suppose aussi que:
    soit c'est un problème de configuration d'Apache (pour un accès anonyme)
    soit c'est un problème de requête http (pour un utilisateur anonyme)

    Voici mon code:

    MainPage de Visual Studio:
    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
     
    //mainPage.xaml.cs
     
    public MainPage()
            {
                InitializeComponent();
            }
     
            private async void buttonStringGet_Click_1(object sender, RoutedEventArgs e)
            {
                System.Uri targetUri = new System.Uri("http://192.168.0.11:80/appli/path/web/app_dev.php/api/pensees/5.json");
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
                request.Method = "GET";
                request.UserAgent = "";
                request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request);
            }
     
            private void ReadWebRequestCallback(IAsyncResult callbackResult)
            {
                try
                {
                    HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState;
                    HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult);
     
                    using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream()))
                    {
                        string results = httpwebStreamReader.ReadToEnd();
                        Dispatcher.BeginInvoke(() => resultText.Text = results);
                    }
                    myResponse.Close();
                }
                catch (WebException ex)
                {
                    using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream()))
                    {
                        Debug.WriteLine(reader.ReadToEnd());
                    }
                }    
            }
    Le fichier hosts de Windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #C:\Windows\System32\Drivers\etc\hosts
     
    127.0.0.1       localhost
    127.0.0.1       vcf
    127.0.0.1       appli
    Le fichier httpd-vhosts d'Apache:
    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
     
    #C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
     
    <VirtualHost *:80>
    	ServerName localhost
        DocumentRoot "c:/wamp/www"
    </VirtualHost>
     
    <VirtualHost *:80>
    	ServerName vcf
        DocumentRoot "c:/wamp/www/vcf"
    </VirtualHost>
     
    <VirtualHost *:80>
    	ServerName appli
        DocumentRoot "c:/wamp/www/appli"
    </VirtualHost>
    Le .htaccess de l'API REST:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #C:\wamp\www\appli\path\app\.htaccess
     
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order deny, allow
        Deny from all
    </IfModule>
    Le fichier security.yml de l'API REST:
    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
     
    #C:\wamp\www\appli\path\app\config\security.yml
     
    #...
    firewalls:
            dev:
                pattern:  ^/(_(profiler|wdt)|css|images|js)/
                security: false
     
            main: 
                pattern: ^/
                anonymous: true
                provider: main
                form_login:
                    login_path: fos_user_security_login
                    check_path: fos_user_security_check
                    default_target_path: /
                logout:
                    path: fos_user_security_logout
                    target: /
    #...
    et le résultat sur la console de Visual Studio:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Une exception de type 'System.Net.WebException' s'est produite dans System.Windows.ni.dll et n'a pas été traitée avant une limite managée/native
    Une exception de première chance de type 'System.Net.WebException' s'est produite dans System.Windows.ni.dll
    Une exception de type 'System.Net.WebException' s'est produite dans System.Windows.ni.dll et n'a pas été traitée avant une limite managée/native
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access /appli/path/web/app_dev.php/api/pensees/5.json
    on this server.</p>
    <hr>
    <address>Apache/2.4.9 (Win64) PHP/5.5.12 Server at 192.168.0.11 Port 80</address>
    </body></html>
    Voila, je bloque depuis 2 jours et j'aurai bien besoin d'un coup de main.
    Qu'en pensez-vous? Avez-vous des suggestions?
    Merci.

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bon et bien j'ai trouvé!
    C'était au niveau de la configuration d'Apache.
    Par défaut Apache est configuré pour ne recevoir que des requêtes locales:
    dans le fichier app_dev.php,
    et dans le fichier httpd.conf.

    Voila, bonne journée à tous!

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

Discussions similaires

  1. Problème de connexion entre une application web et SQL Server
    Par BM_Marwen dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 03/03/2013, 18h32
  2. Problème de connexion entre une base Oracle et une base ACCESS avec Oracle sql developer
    Par orasqldev dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 29/04/2010, 19h19
  3. Réponses: 2
    Dernier message: 29/09/2009, 10h33
  4. Réponses: 8
    Dernier message: 28/12/2007, 11h25
  5. Réponses: 3
    Dernier message: 14/03/2007, 21h29

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