> 백엔드 개발 > PHP 튜토리얼 > 내 SoapClient가 Linux에서는 WSDL을 구문 분석하지 못하지만 WAMP에서는 작동하는 이유는 무엇입니까?

내 SoapClient가 Linux에서는 WSDL을 구문 분석하지 못하지만 WAMP에서는 작동하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-08 06:34:02
원래의
840명이 탐색했습니다.

Why Does My SoapClient Fail to Parse WSDL on Linux But Work on WAMP?

SOAP 오류: WSDL 구문 분석: WSDL URL에서 로드할 수 없습니다.

질문

Linux 마스터 서버에서 SoapClient는 지정된 URL의 WSDL로 인해 다음 오류가 발생합니다. "SOAP-ERROR: WSDL 구문 분석: 에서 로드할 수 없지만 WAMP에서는 작동합니다." 그러나 URL을 직접 호출하거나 명령줄에서 컬을 사용하면 예상되는 XML 응답이 반환됩니다.

대답

누락된 사용자 에이전트 문자열:

의 경우 특정 버전의 PHP에서는 SoapClient가 기본적으로 HTTP 사용자 에이전트 정보를 보내지 않을 수 있습니다. 이로 인해 사용 중인 웹 서비스에 문제가 발생할 수 있습니다.

해결책:

컨텍스트 스트림을 사용하여 사용자 에이전트를 명시적으로 설정:

웹 서비스 문제:

또한, 문제의 웹 서비스에 사용자 에이전트 문자열이 없는 IPv6 요청에 문제가 있음을 발견했습니다. 이를 확인하려면 Linux 호스트에서 다음 명령을 시도하십시오.

사용자 에이전트가 없는 IPv6 요청은 실패하지만 다른 모든 요청은 성공합니다. 이는 Linux 호스트가 웹 서비스의 도메인을 IPv6 주소로 확인하고 있으며 SoapClient가 기본적으로 사용자 에이전트 문자열을 추가하지 않았음을 의미합니다.

위 내용은 내 SoapClient가 Linux에서는 WSDL을 구문 분석하지 못하지만 WAMP에서는 작동하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿