I have a WSDL which is located somewhere like this:
This is a line like this:
is trying to import other WSDL at this place:
https: //provider.web-service.domain/path/ServiceName .wsdl So when starting SoapClient, I get the following error:
PHP Fatal Error: SOAP-Error: Parsing WSDL: 'https: / Could not load with /provider.web-service.domain/ Path / ServiceName.wsdl ': Failed to load external entity "https: //provider.web-service.domain/path/ServiceName.wsdl" I am trying to solve this problem, I am currently With the ProdL provider, but is there an alternative solution for this issue?
I think the only resolution is that providing a route for them actually indicates an accessible resource. And it's not really so much I can do about it.
Your thoughts.
UPDATE Provider PHP SOAP client SUX ( Basically say).
Replaced with title:
- php SoapClient: could not be loaded from external entity;
- php SoapClient: can not be loaded from external entity (where endpoint can be solved in second place)
So PHP SoapClient does not know that The wsdl is resolving a URL to another location, so it tries to import the file from the original location.
Since the resource is not present at the original location, it throws the error.
As an alternative solution, he has provided WSDL so that we can keep it on our server.
But this problem requires a better resolution.
UPDATE 2 I want to answer the question for clarity:
I use the following WSDL URL As stated:
[1] https: //provider.web -service.domain / path / serviceName? Wsdl There are two WSDLs at the following location
[2] https: //provider.web- Service.domain / path / servicename / another / diff / Path / prefix_ServiceName.wsdl [3] https: //provider.web-service.domain/path/ServiceName/another/diff/path/ServiceName.wsdl - [1 ] [2];
- [2] Import [3]
While passing [1] in Soap Client (), this FATALs (as previously described)
When sopclient () passes [2], then it works.
What did I have to do, and if you really wanted, what can you do? Spend your time on: Make a wrapper class for soap maker and pre-processing wsdls For example, SOAP client compatibility SOAP client (public function __ construct ($ wsdl, $ options) {// works here, like: // wsdl by using curl / modify it / check it, then it's $ wsdl for parent Enter as: __ build}}
No comments:
Post a Comment