#deserialization #xml-deserialization
#десериализация #xml-десериализация
Вопрос:
Я передаю следующее в LoadRunner:
<makeAtmPayment xmlns="http://[URL]" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">"
"<billerId>BILL01</billerId>"
"<userId>950002</userId>"
"<productCode>P1</productCode>"
"<productParameter><value>923</value></productParameter>"
"<paymentChannel>PAY01</paymentChannel>"
"<paymentAmount>2</paymentAmount>"
"<convenienceFee>1.50</convenienceFee>"
"<effectiveDate>2011-04-14</effectiveDate>"
"<accountId xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>"
"<atmCardNumber>564373636363636</atmCardNumber>"
"<editedConfirmationId xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>"
"</makeAtmPayment>"
и это выдает мне следующую ошибку:
InvokeMethod failure: Unable to deserialize non XmlElement node #text in path '/makeAtmPayment/productParameter/name/#text'.
Кто-нибудь может дать мне какие-либо указания на то, что я делаю неправильно?
Спасибо!!
Ответ №1:
Попробуйте изменить
<productParameter><value>923</value></productParameter>
Для
<productParameter><name>923</name></productParameter>
Ответ №2:
Я не понимаю двойные кавычки. В самом начале отсутствует один, а после xmlns = «http://[URL]» есть один без косой черты. Может ли это быть проблемой?
Комментарии:
1. Это была моя опечатка, проблема не в этом … : (
Ответ №3:
Это XML вашего собственного создания или тот, который взят из записи loadrunner? Если это последнее, рассмотрите возможность записи дважды, чтобы увидеть, какие различия выявляются, которые вам необходимо учесть во время разработки. Если это первое, то рассмотрите возможность проверки вашего XML с помощью бизнес-правил приложения перед отправкой его через LoadRunner, просто чтобы убедиться, что XML не зависит от вашего инструмента тестирования