원격 WSDL 로드는 SoapClient 생성자 내부에서 발생할 수 있습니다. 그 첫 번째 가져오기 전에 프록시를 지정하십시오:

$client = new SoapClient('https://service.example.com/api?wsdl', [
    'proxy_host' => '203.0.113.10',
    'proxy_port' => 8080,
    'proxy_login' => getenv('PROXY_USER'),
    'proxy_password' => getenv('PROXY_PASSWORD'),
    'connection_timeout' => 5,
    'exceptions' => true,
]);

실제 WSDL, 프록시 호스트/포트, 의도한 자격 증명 원본을 사용하십시오. 호스트 필드는 주소이고 포트는 별도입니다.

실패할 때점검할 요청 또는 작업
클라이언트 생성WSDL 가져오기 또는 문서 처리.
가져온 문서/스키마 처리실제 추가 가져오기 URL.
SOAP 메서드 호출WSDL에 선언된 서비스 엔드포인트, 다른 호스트일 수 있습니다.

캐시된 WSDL을 사용하는 작업자는 다른 머신에서 실패하는 요청을 건너뛸 수 있습니다. 캐시 구성과 실제 실패한 URL을 비교와 함께 보관하고, 생성 성공만으로 프록시를 변경하지 마십시오.

proxy_login/proxy_password 는 중개자 를 인증합니다. 대상 login/password 와 SOAP 수준 서비스 인증은 다른 계층을 담당합니다. 계정 같은 헤더를 User-Agent에 넣는 대신 전용 옵션을 사용하십시오. 필요한 애플리케이션 헤더는 지원되는 헤더 인터페이스에 속합니다.

기록하십시오 작업, 대상, 그리고 챌린지를 발행한 당사자 를 비밀을 제거하여. connection_timeout 는 연결 설정을 제한하며 긴 SOAP 작업의 전체 소요 시간을 제한하지 않습니다.

관련 글