Последовательность XML-элемента не попадает в упорядоченный формат при выполнении вызова API SOAP - PullRequest
2 голосов
/ 11 апреля 2019

Я работаю с SOAP-запросом и сгенерированным классом модели в соответствии с моим запросом на выполнение вызова API через модификацию, но проблема заключается в последовательности заказа моего тега, измененной в строке запроса, поэтому я не получаю ответ об успешном выполнении.

Ожидаемый формат запроса

<soap:Envelope xmlns:xsi="URL" xmlns:xsd="URL" xmlns:soap="URL/">
  <soap:Header>
        .....
  </soap:Header>
  <soap:Body>
        ..... 
  </soap:Body>
</soap:Envelope>

Что я получаю ниже:

<soap:Envelope xmlns:xsi="URL" xmlns:xsd="URL" xmlns:soap="URL/">
  <soap:Body>
        ..... 
  </soap:Body>
  <soap:Header>
        .....
  </soap:Header>
</soap:Envelope>

Класс модели для этого:

Root(name = "soap:Envelope")
@NamespaceList(Namespace(prefix = "xsi", reference = "URL"), Namespace(prefix = "xsd", reference = "URL"), Namespace(prefix = "soap", reference = "URL"))
public class ABC{
        @field:Element(name = "soap:Header", required = true)
        var header : Header = Header(),

        @field: Element(name = "soap:Body", required = true)
        var body : Body = Body()
}

@Root(name = "soap:header", strict = false)
public class Header{
        ....
}

@Root(name = "soap:Body", strict = false)
public class Body{
      ....
}

Как вы можете видеть, тег Header понижается в моем сгенерированном запросе, и это вызывает проблему.

Заранее спасибо.

1 Ответ

1 голос
/ 15 апреля 2019

Решено простым изменением имени переменной в порядке алфавитного порядка

@ поле: Элемент (имя = "мыло: Header") var Aheader = Header ()

@ field: Element (name = "soap: Body") var Zbody = Body ()

Сначала идет заголовок Tag, а затем тег тела

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...