2016-11-30 7 views
2

일부 데이터를 가져 오기 위해 웹 서비스에 연결 중입니다. 나는 약 200K 개의 작업에 대한 요청 대기열을 가지고 있으며 작업자가이를 처리하고있다. 처리 시간은 초당 2 ~ 3 회입니다. 약 500-1000 건의 호출 후,이 메시지와 함께 SoapFault 예외가 발생하기 시작합니다 : Could not connect to host. 이 오류가 발생하더라도 웹 서비스 서버를 제대로 ping 할 수 있습니다. 나는 비누 캐시를 사용하지 않으면호스트에 연결할 수 없습니다. 일부 요청 후 SoapFault 예외가 발생했습니다.

, 문제는 여전히 존재하지만 Parsing WSDL: Couldn't load from 'http://thewebservice.com/method/Service.asmx?WSDL' : failed to load external entity

연결 코드에 오류 변경 :

  • PHP 7.0.11
  • : 나는 작업

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

  • 루멘 (5.2.9) (라라 벨 성분 5.2 *)

답변

1

필자의 경우 문제는 동시에 너무 많은 연결을 열었습니다. keep_alive 옵션으로 수정했습니다.

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