2016-11-30 4 views
2

Ich verbinde mich mit einem Webservice, um einige Daten zu erhalten. Ich habe eine Warteschlange von Anfragen mit ungefähr 200K Jobs und ein Arbeiter behandelt es. Prozesszeit ist 2-3 Anrufe pro Sekunde. Nach ungefähr 500-1000 Aufrufen beginnt die SoapFault-Ausnahme mit dieser Nachricht: Could not connect to host. Selbst wenn ich diesen Fehler bekomme, kann ich den Webservice Server richtig anpingen.Verbindung mit Host konnte nicht hergestellt werden, SoapFault Ausnahme nach einigen Anfragen

Wenn ich Seife Cache zu deaktivieren, ist das Problem immer noch da, aber die Fehler Änderungen Parsing WSDL: Couldn't load from 'http://thewebservice.com/method/Service.asmx?WSDL' : failed to load external entity

Anschluss-Code:

$client = new SoapClient('http://thewebservice.com/method/Service.asmx?WSDL'); 
$response = $client->__soapCall('method name', $parameters) 

mit denen ich arbeite:

  • PHP 7.0.11
  • Lumen (5.2.9) (Laravel Components 5.2. *)

Antwort

1

In meinem Fall war das Problem zu viele offene Verbindungen zur gleichen Zeit. Ich reparierte es durch keep_alive option:

$client = new SoapClient('http://thewebservice.com/method/Service.asmx?WSDL', ['keep_alive' => false]); 
$response = $client->__soapCall('method name', $parameters) 
Verwandte Themen