Php Soap连接拒绝
伙计们,我遇到了一个问题我最近几天一直在学习soap,我一直在尝试连接到在线商店的web服务,以便在用户购买电视机之前验证他们的电视许可证 我编写了以下代码来测试电视许可证公司提供的web服务Php Soap连接拒绝,php,Php,伙计们,我遇到了一个问题我最近几天一直在学习soap,我一直在尝试连接到在线商店的web服务,以便在用户购买电视机之前验证他们的电视许可证 我编写了以下代码来测试电视许可证公司提供的web服务 <?php $wdsl = "https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl"; $options = array( 'trace' => true
<?php
$wdsl = "https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl";
$options = array(
'trace' => true,
'exceptions' => true,
'connection_timeout' => 1
);
try{
$client = new SoapClient($wdsl,$options);
$apiauth = array(
'Rquid' => '3600cd32-28b9-4a4f-a522-4326def4a9c2',
'ApiKey' => '5957237e-101c-4ff2-8fdc-4bd6c9393a1d',
'AccountIdentifier' => '9211186012088',
'AccountIdentifierType' => 'SaidNumber');
$header = new SoapHeader('http://tempuri.org/','Auth',$apiauth,true);
$client->__setSoapHeaders($header);
$account = $client->GetAccount();
var_dump($account);
echo "<pre>";
var_dump($client);
echo "</pre>";
}catch (Exception $e) {
echo "Error!";
echo $e->getMessage() . "<br>";
echo 'Last response: ' . $client->__getLastResponse();
}
?>
wdsl不需要客户端证书,上面的api密钥仅用于测试
我经常碰到的问题
无法连接到主机
但是如果我写了一个无效的函数,我会得到一个错误,该函数对于这个服务无效,当我使用u GetFunctions()时,我确实看到了服务中的函数,但是当我尝试使用其中一个函数时,我点击了“无法连接到主机”,伙计们能帮我连接到这个服务吗。希望这能让你继续,我假设live
wsdl
将正常工作,而无需调用\uu setLocation()
希望这能让您继续,我假设livewsdl
将正常工作,而无需调用\uu setLocation()
尝试使用SoapUI使用des,我在这里尝试过,但缺少一些信息。有时,SoapUI可以向您展示一种更好或正确的方法来使用WS。感谢您的反馈,我将查看它now@GabrielHeming我使用了上面提到的工具u,我可以使用该工具进行连接,我将再次尝试使用phpTry使用SoapUI使用de WS,我在这里尝试过,但缺少一些信息。有时,SoapUI可以向您展示一种更好或正确的方法来使用WS。感谢您的反馈,我将查看它now@GabrielHeming我使用了上面提到的工具u,我可以使用该工具连接,我将使用phpTesting再次尝试,在它工作的那一刻,我可以连接,看看用户是否需要支付许可证。谢谢你现在我怎么才能只收到回复信息?测试,目前它工作,我可以连接,看看用户是否需要支付许可证。谢谢现在我怎么才能只收到回复信息?
<?php
$wdsl = "https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc?wsdl";
$options = array(
'trace' => true,
'exceptions' => true,
'connection_timeout' => 1
);
try {
$client = new SoapClient($wdsl, $options);
// use https location - the host for http (http://jhb-tvlicweb2.sabc.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc) dosn't exist
$client->__setLocation('https://secure4.tvlic.co.za/AccountEnquiryService_Test_1.0/AccountEnquiryService.svc');
// setup parameters
$arrParams = array(
'request' => array(
'Header' => array(
'Rquid' => '3600cd32-28b9-4a4f-a522-4326def4a9c2',
'ApiKey' => '5957237e-101c-4ff2-8fdc-4bd6c9393a1d'
),
'AccountIdentifier' => '9211186012088',
'AccountIdentifierType' => 'SaidNumber'
)
);
// request parameters passed in the body not the header
$account = $client->GetAccount($arrParams);
var_dump($account);
echo "<pre>";
var_dump($client);
echo "</pre>";
} catch (\Exception $e) {
echo "Error!";
echo $e->getMessage() . "<br>";
echo 'Last response: ' . $client->__getLastResponse();
}