Bonjour,
Je suis en train de faire une page Web qui doit appeler un Web Service et me récupérer des données.
Tout le travail se fait sur le même serveur, mais sur des ports différents.
Ma page web est accessible sur l'url http://monserveur/index.php
Mon Web service est accessible sur l'url http://monserveur:8080/wsa_h01/wsa1/wsdl?targetURI=urn:inv
Dans mon tout premier essai, j'ai eu l'erreur
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://monserveur' is therefore not allowed access
.
En faisant des recherches, je suis tombée sur la notion de CORS.
J'ai configuré le serveur Apache pour que ma requête aboutisse, avec cette configuration :
1 2 3 4 5 6 7 8
| Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "GET, OPTIONS"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L] |
Après avoir redémarré Apache, j'ai à présent l'erreur
The response had HTTP status code 405
.
Je pensais que les dernières lignes ajoutées dans Apache permettaient de corriger cette erreur (redirection des preflights).
Dans la page Web qui tente d'accéder au Web Service, j'ai ajouté cette ligne, pour disposer d'un header ;
request.setRequestHeader("Content-Type", "text/html; charset=utf-8");
Je suis novice en Apache, je ne vois pas comment résoudre mon problème.
Pourriez-vous m'éclairer svp ?
D'avance Merci
Fredgt
Partager