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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux