PHP中的wsdl连接
我有一个奇怪的情况,我可以得到的网址 $wsdl='在普通的web浏览器URL上,我将路径放入URL栏,但我似乎无法通过PHP中的wsdl连接,php,wsdl,Php,Wsdl,我有一个奇怪的情况,我可以得到的网址 $wsdl='在普通的web浏览器URL上,我将路径放入URL栏,但我似乎无法通过文件连接。\u get\u contents()不返回任何内容,尽管相同的代码在其他连接上也可以正常工作 我已经建立了一些错误诊断代码,如果这将有助于任何人在未来 <?php ini_set('display_errors', 'On'); ini_set('memory_limit','1000M'); ini_set("soap.wsdl_cache_enabled"
文件连接。\u get\u contents()
不返回任何内容,尽管相同的代码在其他连接上也可以正常工作
我已经建立了一些错误诊断代码,如果这将有助于任何人在未来
<?php
ini_set('display_errors', 'On');
ini_set('memory_limit','1000M');
ini_set("soap.wsdl_cache_enabled", "0");
ini_set("default_socket_timeout", 120);
ini_set("track_errors","On");
error_reporting(E_ALL);
$days = 7;
$date = date('d/m/Y 00:00', (time() - ($days * 24 * 60 * 60)));
$soap_args = array(
'exceptions'=>true,
'cache_wsdl'=>WSDL_CACHE_NONE,
'trace'=>true,
'connection_timeout'=>120,
);
$wsdl = 'https://www.connectwebservice.com/sandbox1_test/services/IR?wsdl';
if(file_get_contents($wsdl)){
try {
$client = new SoapClient($wsdl,$soap_args);
$product = $client->getProductIdsChangedSinceDateStrForType(array("lastRequestDateStr" => $date, "leafOnly" => true))->getProductIdsChangedSinceDateStrForTypeReturn;
} catch (SoapFault $fault) {
var_dump(libxml_get_last_error());
?><br/><br/><pre><?php var_dump($fault); ?></pre><?php
echo "<br/><br/>----------------------<br/><br/>";
echo "Reason: ";
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
//show results if posible
if($client){
if ($product != '') {
$product = split(',', $product);
?>Products:<br/><br/><pre><?php print_r($productIds); ?></pre><?php
echo "<br/><br/>----------------------<br/><br/>";
}
} else {
echo "$client only?";
}
?><br/><br/>Client:<br/><br/><pre><?php print_r($client); ?></pre>
<?php
} else {
echo "<br/>no connection or bad url";
}
产品:
客户:
检查php.ini中的allow url fopen
是否设置为true
为什么要将其作为文件拉取?您应该能够简单地通过SoapClient将信息拉回来,而不是从PHP连接HTTPS,可能需要如下所述: