我想连接到Soap服务器,但我有错误:
SOAP-ERROR: Parsing Schema: can't import schema from 'http://domain.com:80/services.xsd
我查看了其他问题,我将“allow_url_open”设置为ON,我使用SOAP_1_1并启用了OpenSSL。 有点奇怪,我的SOAP服务器的URL是:
https://domain.com/services?WSDL
在错误中,没有更多的“https”,但只有端口80上的“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-FPM 5.谢谢。
答案 0 :(得分:2)
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