Re: RES: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Whereendpoint resolves to another location)

[email protected] (fruitmixer) Mon, 01 Jul 2013 11:31:15 +1000
Newsgroups php.soap
Message-ID <[email protected]>
Sorry that does not help.

To iterate, when instantiating the client:

     $wsdl = 'https://provider.web-service.domain/path/ServiceName?wsdl';
     $client = new SoapClient($wsdl);

I get the following error:

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"


- superspace



On 28/06/13 21:35, Gerson Czelusniak Junior wrote:
> Hi,
>
> When i call SOAP WebService created with .NET APP using SoapClient PHP the code stay like this:
>
> 		ini_set('display_errors', true);
> 		ini_set("soap.wsdl_cache_enabled", "0");
> 		error_reporting(E_ALL);
> 		$url = "servidor/WebService.asmx?WSDL";
> 		$soap = new soapClient($url, array('encoding'=>'UTF-8'));
> 		$param = $_POST['param'];
> 		$return = $soap->MethodFromWebService(array("param" =>  $param));
> Maybe that can help you.
>
> -----Mensagem original-----
> De: superpspace [mailto:[email protected]]
> Enviada em: quinta-feira, 27 de junho de 2013 21:57
> Para: [email protected]
> Assunto: RES: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Where endpoint resolves to another location)
>
> 1. I believe the webservice is a .NET APP.
> 2. When requesting the WSDL from the browser I can see the XML.
> But since the XML is not trying to import the secondary WSDL, there is no errors/issues.
>
> "Gerson Czelusniak Junior"  wrote in message news:80940D84E43C0C45AA2C4A9B432B675A19D03520@SN2PRD0202MB120.namprd02.prod.outlook.com...
>
> Good Morning,
>
> Your webservice is in .NET APP or in PHP?
> When you call the WSDL from Browser you can see the xml?
>
>
> -----Mensagem original-----
> De: superpspace [mailto:[email protected]] Enviada em: terça-feira, 25 de junho de 2013 22:23
> Para: [email protected]
> Assunto: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Where endpoint resolves to another location)
>
> 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
>
>
>
> --
> PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>