2009-08-26 6 views
2

J'écris une application qui utilise des services Web pour connecter un serveur distant.J'ai écrit une méthode pour ping fonction pour déterminer si le serveur est en ligne ou non (c.-à-d. Fournir les services Web qui peuvent être accessible en utilisant host: port). J'exécute un service web simple avec un timeout de 2 sec (disponible en option dans la classe stub avant de faire l'appel) .Ideally l'appel devrait revenir dans les 2 secondes me permettant de vérifier si le serveur est en haut ou en bas.Cependant, dans certains cas, il faut beaucoup plus de 2 secondes.problème avec le délai d'attente de client d'axe

Quelqu'un peut-il m'aider à comprendre pourquoi cela se produit? Y a-t-il un moyen de s'assurer que la valeur du délai d'attente est respectée?

Merci, Fell

+0

Pouvez-vous inclure du code? – stevedbrown

Répondre

1

Ne pas utiliser l'émetteur par défaut http, passer à http commun expéditeur en fonction du client. Détails sont ici - http://wiki.apache.org/ws/FrontPage/Axis/AxisCommonsHTTP - Même page a des détails sur la façon de définir différents types de délais d'expiration ainsi.

+1

La solution ci-dessus ne fonctionne pas. En utilisant Axis 1.4 et Java 1.7. En fait, pas une seule approche ne fonctionne pour Axis lire time out .. surprise! J'ai essayé toutes les options mentionnées dans le lien ci-dessous - http://wiki.apache.org/ws/FrontPage/Axis/AxisCommonsHTTP -/- http://www.coderanch.com/t/544075/Web-Services/ java/set-timeout-Axis-client -/- https://samaxes.com/2009/04/axis-14-read-timed-out-and-http-11/ – Santosh

2

Dans les talons client Axis, vous pouvez définir le délai d'attente. Vous pouvez également l'utiliser. Notez que le délai d'expiration est mesuré en millisecondes. check here

Et si elle est Axis2, vous pouvez utiliser comme ceci:

Stub s = new Stub(); 
ServiceClient sc = s.getServiceClient(); 
Options o = sc.getOptions(); 
o.setTimeOutInMilliSeconds(2000); //2 seconds 
sc.setOptions(o); 
s.setServiceClient(sc); 

Vous pouvez faire vos appels après avoir réglé les choses ci-dessus.

Questions connexes