PHP Soap - Can't import schema

2019-06-08 05:33发布

I want to connect to a Soap server, but I have the error :

SOAP-ERROR: Parsing Schema: can't import schema from 'http://domain.com:80/services.xsd

I took a look on other questions, and I have my "allow_url_open" to ON, I use SOAP_1_1 and OpenSSL is enabled. Something is weird, the URL to my SOAP server is :

https://domain.com/services?WSDL

And in the error, there is no more "https", but only "http" on port 80. I tried :

wget https://domain.com/services?WSDL

And it works. I have an XML file with all my services. But, using PHP and :

try
{
    $client = new SoapClient('https://domain.com/services?wsdl',         
    array(
        "trace" => 1,
         "soap_version" => SOAP_1_1
   ));                 
}
catch (SoapFault $e)
{
   var_dump($e);
}

I have the "Parsing Schema: can't import schema" error. Do I need to configure something else on my PHP ? I am using Nginx and PHP-FPM 5. Thanks.

1条回答
▲ chillily
2楼-- · 2019-06-08 06:18
http://domain.com:80/services.xsd

Are you able to access above link in your browser?

No, I guess.Similarly it is not accessible through your code also. This schema location must be defined in your wsdl i.e.

 https://domain.com/services?WSDL

You can add those elements from schema into wsdl. You can follow this approach to get rid of it.

http://weblogs.thinktecture.com/cweyer/2007/05/improving-wcf-interoperability-flattening-your-wsdl.html
查看更多
登录 后发表回答