RES: RES: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Whereendpoint resolves to another location)
[email protected] (Gerson Czelusniak Junior) Mon, 1 Jul 2013 11:39:30 +0000
| Newsgroups | php.soap |
|---|---|
| Message-ID | <80940D84E43C0C45AA2C4A9B432B675A19D0AEC2@SN2PRD0202MB120.namprd02.prod.outlook.com> |
Hi, I saw that you are using SOAP with https, this mean you need SSL enabled. Your server that have the WebService need authenticate? Port in firewall is enable? You will need to have OpenSSL enabled in PHP to be able to retrieve content= over https. Look for the openssl section in your phpinfo(). "OpenSSL support =3D> enabled =20 OpenSSL Library Version =3D> OpenSSL 0.9.8k 25 Mar 2009 OpenSSL Header Version =3D> OpenSSL 0.9.8k 25 Mar 2009" -----Mensagem original----- De: fruitmixer [mailto:[email protected]]=20 Enviada em: domingo, 30 de junho de 2013 22:31 Para: [email protected] Assunto: Re: RES: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Wh= ereendpoint resolves to another location) Sorry that does not help. To iterate, when instantiating the client: $wsdl =3D 'https://provider.web-service.domain/path/ServiceName?wsdl'; $client =3D new SoapClient($wsdl); I get the following error: PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://pro= vider.web-service.domain/path/ServiceName.wsdl' :failed to load external en= tity "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 th= e code stay like this: > > ini_set('display_errors', true); > ini_set("soap.wsdl_cache_enabled", "0"); > error_reporting(E_ALL); > $url =3D "servidor/WebService.asmx?WSDL"; > $soap =3D new soapClient($url, array('encoding'=3D>'UTF-8')); > $param =3D $_POST['param']; > $return =3D $soap->MethodFromWebService(array("param" =3D> $param));=20 > Maybe that can help you. > > -----Mensagem original----- > De: superpspace [mailto:[email protected]] Enviada em:=20 > quinta-feira, 27 de junho de 2013 21:57 > Para: [email protected] > Assunto: RES: [SOAP] SOAP-ERROR: Couldn't Load from external entity=20 > (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:80940D84E43C0C45AA2C4A9= [email protected]... > > 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:=20 > ter=E7a-feira, 25 de junho de 2013 22:23 > Para: [email protected] > Assunto: [SOAP] SOAP-ERROR: Couldn't Load from external entity (Where=20 > 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: > > =20 > https://provider.web-service.domain/path/ServiceName/another/diff/path > /prefix_ServiceName.wsdl > > The WSDL has a line like this: > > <wsdl:import namespace=3D"http://name/space/service/" > location=3D"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=20 > 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: > > =20 > 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: > > =20 > http://stackoverflow.com/questions/17226451/php-soapclient-couldnt-loa > d-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:=20 > http://www.php.net/unsub.php > > > -- PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://w= ww.php.net/unsub.php