2010-05-19 6 views
0

J'ai implémenté un service WCF hébergé sur le service Windows. Je veux le consommer avec PHP. Tout fonctionne bien pour l'instant, mais le problème est quand j'arrête ma victoire. un service. En consommant avec l'application .NET, j'obtiens EndpointNotFoundException. Mais en utilisant PHP j'obtiens l'erreur HTTP 500.0 - Erreur interne du serveurWinService hébergé client WCF + PHP et service désactivé

Ceci est mon code PHP:

<?php 
header('Content-Type: text/plain'); 
try 
{ 
    $client = new 
     SoapClient( 
      "http://localhost:8000/TestService/service?wsdl" 
     );  

    $webService = $client->CheckStatus();  
    $wsResult = $webService->CheckStatusResult; 
    print $wsResult; 
} 
catch (Exception $e) 
{ 
    print "Caught exception: " . $e->getMessage(). "\n"; 
} ?> 

Ma question est la suivante: comment vérifier si endpoint est accessible, parce que l'erreur je l'ai décrit se produit après le délai. Je veux vérifier rapidement ceci, et ne pas obtenir l'erreur interne de serveur

Répondre

0

Si le service n'est pas accessible, le service ne pourra pas se connecter. Le temps qu'il faut pour abandonner est (je crois) basé sur le paramètre default_socket_timeout dans php.ini. Essayez de régler cela à quelque chose de plus bas et vous devriez obtenir un échec plus tôt que le délai d'attente tel qu'il est maintenant. Toutes mes excuses si vous essayez de dire que l'exception n'est pas correctement interceptée.

Questions connexes