Как написать массив в SOAP UI - PullRequest
0 голосов
/ 12 июня 2019

Мне нужно отправить массив объектов с использованием SOAP UI. Как написать это в SOAP UI?

при использовании Java это мой код

Map<String, Object> travellerArray = new HashMap<>();
ArrayList<Object> adult = new ArrayList<>();
ArrayList<Object> child = null;
ArrayList<Object> infant = new ArrayList<>();

Map<String, String> detailAdult = new HashMap<>();
detailAdult.put("adult_name", "Adult1");
detailAdult.put("adult_id", "id1");
detailAdult.put("adult_date_of_birth", "2000-01-01");
detailAdult.put("adult_phone", "phone1");

adult.add(detailAdult);

Map<String, String> detailInfant = new HashMap<>();
detailInfant.put("infant_name", "Infant");
detailInfant.put("infant_date_of_birth", "2003-01-01");

infant.add(detailInfant);

travellerArray.put("adult", adult);
travellerArray.put("child", child);
travellerArray.put("infant", infant);

Я уже пытаюсь написать вот так

<travellerArray xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="SOAP-ENC:Array[3]">
    <adult xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:anyType[1]">
        <item xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="SOAP-ENC:Array[4]">
            <adult_name>Adult1</adult_name>
            <adult_id>id1</adult_id>
            <adult_date_of_birth>2000-01-01</adult_date_of_birth>
            <adult_phone>123</adult_phone>
        </item>
    </adult>
    <child xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="unnamed_struct_use_soapval[0]">
    </child>
    <infant xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="unnamed_struct_use_soapval[0]">
        <item xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="SOAP-ENC:Array[2]">
            <infant_name>Adult1</infant_name>
            <infant_date_of_birth>2003-01-01</adult_date_of_birth>
        </item>
    </infant>
</travellerArray>

Но сервер всегда говорил "Неверные данные". Кто-нибудь может сказать мне, как написать / какой частью я делаю это неправильно?

1 Ответ

0 голосов
/ 19 июня 2019

Хорошо, после нескольких попыток я нашел, что это ответ

Это пример для одного массива

<travellerArray>
<adult>
<item>
<title>Mr</title>
<first_name>First</first_name>
<last_name>Last</last_name>
</item>
</adult>
</travellerArray>

Для 2 или более массивов

<travellerArray>
<adult>
<title>Mr</title>
<first_name>First</first_name>
<last_name>Last</last_name>
</adult>
<adult>
<title>Mr</title>
<first_name>First2</first_name>
<last_name>Last2</last_name>
</adult>
</travellerArray>

Причинапочему сервер дает "неверные данные".Что они дают мне неправильное сообщение, я слишком много отправляю неправильный формат.Так что меня забанили, из-за чего в ответном сообщении всегда «неверные данные».

...