SOAP-ERROR: Couldn't Load from external entity (Where endpoint resolves to another location)

From: Date: Wed, 26 Jun 2013 01:23:18 +0000
Subject: SOAP-ERROR: Couldn't Load from external entity (Where endpoint resolves to another location)
Groups: php.soap 
Request: Send a blank email to php-soap+get-3381@lists.php.net to get a copy of this message
Hello everyone, I have a WSDL in the following URL format (obscured): https://provider.web-service.domain/path/ServiceName?wsdl that resolves to: https://provider.web-service.domain/path/ServiceName/another/diff/path/prefix_ServiceName.wsdl The WSDL has a line like this: <wsdl:import namespace="http://name/space/service/" location="ServiceName.wsdl"></wsdl:import> When loading the former URL into SoapClient, it complains like so: PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://provider.web-service.domain/path/ServiceName.wsdl' : failed to load external entity "https://provider.web-service.domain/path/ServiceName.wsdl" The reason i believe this happens is because it's trying to look for ServiceName.wsdl at the original location, ie. It is looking here: https://provider.web-service.domain/path/ServiceName.wsdl instead of the final resolved location, here: https://provider.web-service.domain/path/ServiceName/another/diff/path/ServiceName.wsdl As expected, if i pass the resolved URL into SoapClient, it works. This is not ideal because the resolved address can potentially change at any time. Is this a problem with SoapClient that can *and* need to be resolved? Your thoughts. Thanks superspace The question on stackoverflow is here: http://stackoverflow.com/questions/17226451/php-soapclient-couldnt-load-from-external-entity-where-endpoint-resolves-to-a

« previous php.soap (#3381) next »