2011-03-09 4 views
3

J'ai quelques problèmes en essayant d'obtenir une demande de poste pour travailler à partir d'un fournisseur de paiement (WorldPay) à mon serveur hôte. Fondamentalement WorldPay fait un rappel à un script sur mon site web si/quand une transaction est réussie. Le problème est que la demande de publication ne parvient pas à mon script - nous avons juste un délai d'expiration de 408.HTTP POST ne fonctionne pas (erreur 408)

C'est la demande envoyée par WorldPay ci-dessous:

POST /index.php?route=payment/worldpay/callback HTTP/1.0 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Host: www.mysite.com 
Content-Length: 711 
User-Agent: WJHRO/1.0 (WorldPay Java HTTP Request Object) 

authAmountString=%26%23163%3B3.49&_SP.charEnc=UTF-8&desc=testItem&authMode=A 

Et ceci est la réponse renvoyée de mes hôtes serveur:

HTTP/1.1 408 Request Timeout 
Connection: Close 
Pragma: no-cache 
cache-control: no-cache 
Content-Type: text/html; charset=iso-8859-1 

Je sais que c'est un long shot, mais quelqu'un peut-il voir quelque chose de mal avec quoi que ce soit ci-dessus Pour simplifier les choses, j'ai remplacé le script php par une sortie html basique qui renvoyait un message Hello World et nous avons toujours un 408 donc je suis assez sûr que le script fonctionne. Nous avons également eu cette erreur une ou deux fois:

failed CAUSED BY invalid HTTP status line: >null< 

Toute aide est grandement appréciée

Vive

Paul

+0

est-il possible l'envoi de WorldPay demande est https? – Tsadiq

+0

non ce n'est certainement pas non - pourquoi demandez-vous? – Pjn2020

+0

parce que je ne peux pas de raison donc je suis à la recherche de solutions de rechange :-) – Tsadiq

Répondre

2

Si la requête HTTP que vous avez donné ci-dessus est exacte, il semble que le client annonce une longueur de contenu de 711 octets, mais le corps de l'entité ne semble pas avoir une longueur de 711 octets. C'est pourquoi le serveur attend l'attente du reste des données.

0

HTTP/1.1 408 Request Timeout,

attention à configuration du serveur, si votre serveur hôte est nginx, vous pouvez vérifier "client_body_timeout" dans nginx.conf