Good day all,
I have a problem I have code a soap client that checks if a user have a valid TV license when they purchase a set of TV in my website,
The program works fine on local host with no errors and it returns the results, When moved to the live server, it gives the following error:
Error!"SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl' : failed to load external entity \"https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl\" "
My code :
<?php
$wdsl = "https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl";
$opts = array(
'http' => array(
'user_agent' => 'PHPSoapClient'
)
);
$context = stream_context_create($opts);
$soapClientOptions = array(
'stream_context' => $context,
'cache_wsdl' => WSDL_CACHE_NONE
);
//Generate GUID
function getGUID()
{
if (function_exists('com_create_guid')) {
return com_create_guid();
} else {
mt_srand((double) microtime() * 10000);
$charid = strtoupper(md5(uniqid(rand(), true)));
$hyphen = chr(45); // "-"
$uuid = chr(123) // "{"
. substr($charid, 0, 8) . $hyphen . substr($charid, 8, 4) . $hyphen . substr($charid, 12, 4) . $hyphen . substr($charid, 16, 4) . $hyphen . substr($charid, 20, 12) . chr(125); // "}"
return trim($uuid, '{}');
}
}
$quid = getGUID();
$licencetype = isset($_POST['licencetype']) ? $_POST['licencetype'] : NULL;
switch ($licencetype) {
case 'domestic':
$holder_id = isset($_POST['holder_id']) ? $_POST['holder_id'] : NULL;
try {
$client = new SoapClient($wdsl, $soapClientOptions);
$client->__setLocation('https://secure4.tvlic.co.za/AccountEnquiryService_1.0/AccountEnquiryService.svc');
$arrParams = array(
'request' => array(
'Header' => array(
'Rquid' => $quid,
'ApiKey' => '2c261e98-90ca-4f7d-90a0-1f5e91ebf416'
),
'AccountIdentifier' => $holder_id,
'AccountIdentifierType' => 'SaidNumber'
)
);
$account = $client->GetAccount($arrParams);
echo json_encode($account);
}
catch (\Exception $e) {
echo "Error!";
echo json_encode($e->getMessage());
echo 'Last response: ' . $client->__getLastResponse();
}
break;
case 'business':
$tvlicencenumber = isset($_POST['tvlicence']) ? $_POST['tvlicence'] : NULL;
try {
$client = new SoapClient($wdsl, $soapClientOptions);
$client->__setLocation('https://secure4.tvlic.co.za/AccountEnquiryService_1.0/AccountEnquiryService.svc');
$arrParams = array(
'request' => array(
'Header' => array(
'Rquid' => $quid,
'ApiKey' => '5957237e-101c-4ff2-8fdc-4bd6c9393a1d'
),
'AccountIdentifier' => $tvlicencenumber,
'AccountIdentifierType' => 'AccountNumber'
)
);
$account = $client->GetAccount($arrParams);
echo json_encode($account);
}
catch (\Exception $e) {
echo "Error!";
echo json_encode($e->getMessage());
echo 'Last response: ' . $client->__getLastResponse();
}
break;
case 'dealer':
$tvlicencenumber = isset($_POST['tvlicence']) ? $_POST['tvlicence'] : NULL;
try {
$client = new SoapClient($wdsl, $soapClientOptions);
$client->__setLocation('https://secure4.tvlic.co.za/AccountEnquiryService_1.0/AccountEnquiryService.svc');
$arrParams = array(
'request' => array(
'Header' => array(
'Rquid' => $quid,
'ApiKey' => '5957237e-101c-4ff2-8fdc-4bd6c9393a1d'
),
'AccountIdentifier' => $tvlicencenumber,
'AccountIdentifierType' => 'AccountNumber'
)
);
$account = $client->GetAccount($arrParams);
echo json_encode($account);
}
catch (\Exception $e) {
echo "Error!";
echo json_encode($e->getMessage());
echo 'Last response: ' . $client->__getLastResponse();
}
break;
default:
echo json_encode('Please select licence type');
}
?>
Xampp uses :
php 5.6
Live server
PHP/5.6.33-0+deb8u1
Please help solve this error