Проблемы с аутентификацией заголовка Savon

Я пытаюсь подтвердить подлинность сайта. Я нашел пример для PHP, но у меня возникли некоторые проблемы при переписывании его на Ruby.

Пример кода:

class HRDConfig {
public $uid = "myuid";
public $pass = "mypassword123";

const NS = "https://www.tested.site.com/partnerAPI/";
const PARTNER = "https://www.tested.site.com/partnerAPI/Partner.php?wsdl";
}

ini_set("soap.wsdl_cache_enabled", "1");
$soap = new SoapClient(HRDConfig::PARTNER, array("encoding"=>"UTF-8", "exceptions" => true));
$soap->__setSoapHeaders(array(new SoapHeader(HRDConfig::NS, "AuthHeader", new HRDConfig())));

Мой код:

client = Savon.client(
wsdl: 'https://www.tested.site.com/partnerAPI/Partner.php?wsdl',
soap_header:{
'AuthHeader' => {'uid'=>'myuid','pass'=>'mypass'}
})

Что я делаю не так?

0

Решение

$client = new SoapClient(
'http://service.example.com?wsdl',
array('soap_version'    => '1.2',
'connect_timeout' => 10,
'compression'     => (SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP),
'cache_wdsl'      => WSDL_CACHE_NONE));

$header = new SoapHeader(
'http://service.example.com?wsdl',
'AuthenticateRequest',
new SoapVar(array('apiKey' => '***api******'), SOAP_ENC_OBJECT),
true);

$client->__setSoapHeaders($header);

try {
echo("\n[SOAP response]\n");
$response = $client->__soapCall('your function', array());
echo("\n[After response]\n");
echo("\n{$response }\n");
}
catch (Exception $e) {
echo($e->getMessage());
}

Примечание: здесь «apiKey» — это мои параметры для аутентификации api, ваш может быть другим

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]