SOAP 错误:解析 WSDL:无法从 <URL> 加载

2021-12-24 00:00:00 https php soap

在 PHP 中:我收到一个错误:

In PHP: I am getting an error:

SOAP 错误:解析 WSDL:无法从 'http://xxx.xxxx.asmx 加载?WSDL' :无法加载外部实体 "http://xxx.xxxx.asmx?WSDL"

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xxx.xxxx.asmx?WSDL' : failed to load external entity "http://xxx.xxxx.asmx?WSDL"

我的代码是:

<?php
header('Content-Type: text/plain');
if (!class_exists('SoapClient')) {
    die ("You haven't installed the PHP-Soap module.");
}

ini_set('max_execution_time', 1);
try {
    $options = array(
        'soap_version' => SOAP_1_2,
        'exceptions'   => true,
        'trace'        => 1,
        'cache_wsdl'   => WSDL_CACHE_NONE
    );
    $client = new SoapClient('http://xxx.xxxx.asmx?WSDL', $options);
    // Note where 'CreateIncident' and 'request' tags are in the XML
    $results = $client->CreateIncident(
        array(
            'FirstName'         => 'gyaan',
            'LastName'          => 'p',
            'Email'             => 'aa@gmail.com',
            'QueryProductClass' => 'QueryProductClass',
            'ChannelCode'       => 12,
            'CampaignCode'      => 234,
            'Lob'               => 'Lob',
            'PackageName'       => 'SEONI',
            'PackageCode'       => 'SMP',
            'TravelYear'        => 2012,
            'TravelMonth'       => 06,
            'TravelDay'         => 29,
            'CityOfResidence'   => 'Jabalpur',
            'ncidentNotes'      => 'testing ignor this',
            'MobilePhone'       => '1234567890',
            'DepartureCity'     => 'bangalore',
            'NoOfDaysTravel'    => '3 Days',
            'VendorName'        => 'TEST HIQ'
        )
    );
}
catch (Exception $e) {
    echo "<h2>Exception Error!</h2>";
    echo $e->getMessage();
}
?>

请告诉我哪里出错了我是 WSDL 和肥皂的新手

Please tell me where i am making mistake i am new in WSDL and soap

推荐答案

我通过启用 php_openssl 扩展在我的 WAMP 设置中解决了这个问题,因为我从使用的 https 加载的 URL://.

I solved this on my WAMP setup by enabling the php_openssl extension, since the URL I was loading from used https://.

相关文章