2012-03-02 3 views
1

에서로드 할 수 없습니다 나는이 오류가 :SOAP-오류 : 구문 분석 WSDL : 다음 줄을 실행하는 동안 URL

$client = new soapclient('https://example.com/xxx/pgw?wsdl=xyz.wsdl');

오류 : 나는 체크 한

SoapFault: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost:8080/xxx/pgw?wsdl=xyz.wsdl' : failed to load external entity "http://localhost:8080/xxx/pgw?wsdl=xyz.wsdl" in SoapClient->SoapClient() (line 39 of /var/www/.../myscript.php).

내 브라우저에있는 URL은 괜찮습니다. 무엇이 오류를 일으킬 수 있습니까?

+0

SSL을 활성화 했습니까? http://stackoverflow.com/questions/3726242/php-soapclient-unable-to-work-with-https-ws –

+0

@cillosis 예. OpenSSL이 활성화되었습니다 – user16948

+0

질문에 코드를 붙여 넣을 수 있습니까? – ManseUK

답변

1

몇 시간이 지난 후에도 내 WSDL URL에 file_get_contents을 시도한 후에도 아파치 오류 로그에서 권한 거부 오류가 발생하는 것으로 나타났습니다. 나는 SELinux가 범인이라는 것을 알아 냈다. 기본적으로 SELinux는 httpd가 자체 네트워크 요청 (적어도 Fedora에서는)을 차단한다고 생각합니다.

픽스는 setsebool -P httpd_can_network_connect 1이며 Apache가 원격 서비스에 연결하는 것을 허용합니다 (이는 SSL 요청과 비 SSL 요청 모두에 적용됩니다).