PHP-Soap-Can';t导入模式

PHP-Soap-Can';t导入模式,php,web-services,soap,nginx,Php,Web Services,Soap,Nginx,我想连接到Soap服务器,但出现错误: SOAP-ERROR: Parsing Schema: can't import schema from 'http://domain.com:80/services.xsd 我看了一下其他问题,我的“允许url打开”,我使用SOAP,并且启用了OpenSSL。 奇怪的是,我的SOAP服务器的URL是: https://domain.com/services?WSDL 在错误中,端口80上不再有“https”,只有“http”。我试过: wget ht

我想连接到Soap服务器,但出现错误:

SOAP-ERROR: Parsing Schema: can't import schema from 'http://domain.com:80/services.xsd
我看了一下其他问题,我的“允许url打开”,我使用SOAP,并且启用了OpenSSL。 奇怪的是,我的SOAP服务器的URL是:

https://domain.com/services?WSDL
在错误中,端口80上不再有“https”,只有“http”。我试过:

wget https://domain.com/services?WSDL
它是有效的。我有一个包含所有服务的XML文件。但是,使用PHP和:

try
{
    $client = new SoapClient('https://domain.com/services?wsdl',         
    array(
        "trace" => 1,
         "soap_version" => SOAP_1_1
   ));                 
}
catch (SoapFault $e)
{
   var_dump($e);
}
我有“解析模式:无法导入模式”错误。我需要在PHP上配置其他东西吗?我正在使用Nginx和PHP-fpm5。谢谢

http://domain.com:80/services.xsd
您可以在浏览器中访问上述链接吗

不,我猜。同样地,它也不能通过你的代码访问。 必须在wsdl中定义此架构位置,即

 https://domain.com/services?WSDL
您可以将这些元素从模式添加到wsdl中。 你可以按照这个方法来摆脱它

http://weblogs.thinktecture.com/cweyer/2007/05/improving-wcf-interoperability-flattening-your-wsdl.html

我不能访问这个链接,我想WSDL中有一个错误,schemaLocation不是好的。我尝试访问“”,它成功了。没错,schemaLocation是在我的WSDL中定义的。我已经写信给我的SOAP提供商,等着他……但如果您能够从浏览器访问这个xsd,那么当您的wsdl试图访问它时,应该没有问题。我有点困惑。继续搜索Nginx和PHP-fpm5设置。可能我们缺少一些配置。事实上,我可以访问“https://domain.com/services.xsd”,但不能访问“http://domain.com:80/services.xsd”。我想这就是问题所在。实际上,端口80通常被诸如Apache或其他web应用程序之类的www发布服务阻塞。如果您可以识别并停止侦听或使用系统中的端口80。你可以解决这个问题。只是一种预感。但我可以访问的所有站点都在端口80上?我不能“wget domain.com:80”,但它适用于“www.google.fr”,我想是在80端口?我只是认为WSDL中有一个错误。