Я использую Savon для проверки некоторых SOAP-сервисов WSDL, а некоторым службам нужны дублированные ключи/значения в сообщении. Например, «продукт» значение внутри массива «продукции»:Как исправить «Игнорируемые дублированные ключи» в сообщении
@client.call(
:create_template, message: {
:item => [{
'promotion_id' => "1",
'code_is_unique' => "0",
'name' => "qasusc1",
'description' => "Automation suscription",
'basecode' => "qasusc1",
'total_redemptions' => "30",
'valid_from' => "2016-12-12 00:00:00",
'valid_to' => "2017-12-12 00:00:00",
'duration_quantity' => "1",
'duration_unit' => "M",
'operator_code' => "NAME",
'initial_quantity' => "30",
:products => [{
:product => [{
'id' => "3",
'off_percentage' => "100",
'quantity' => "1"
}],
:product => [{
'id' => "4",
'off_percentage' => "100",
'quantity' => "1"
}]
}],
:lists => [{
'list' => "1"
}],
:promotion_rules => [{
:promotion_rule => [{
'code' => "HAS_PAYMENT_GATEWAY_RULE",
'value' => "1"
}]
}]
}]
}
)
Но я получаю следующее сообщение об ошибке:
tests/suites_soap/test_soap.rb:840: warning: duplicated key at line 22 ignored: :product
Добро пожаловать на переполнение стека. Пожалуйста, прочитайте «[mcve]». Нам нужно увидеть минимальный код и входные данные, которые демонстрируют проблему. Пожалуйста, добавьте код, который будет запускаться, и уменьшите ввод до наименьшего возможного ввода, который продолжает приводить к сообщению. Это помогает нам, так как нам не нужно писать тестовый жгут или сокращать данные, что замедляет ответы. –