Я сгенерировал клиент, используя платформу Axis2 с XMLBeans в качестве метода привязки данных.Схема XSD имеет следующий вид:
<xsd:schema><br>
<xsd:element name="profile" type="anyType"/><br>
</xsd:schema>
Сгенерированный Java-объект, который принимает участие в запросе SOAP, содержит методы получения и установки, позволяющие получить и установить профиль.Вот подпись метода: requestDocument.setProfile(XmlObject profile);
Проблема в том, что даже если мне нужно пропустить несколько узлов в качестве профиля, а не действительный документ XML, но XMLObject ожидает документ XML с корневым узлом.
Мне нужно передать:
<accounts></accounts><br>
<payees></payees>
На самом деле служба, которую я использую, ожидает эти узлы, но не ограничивает их в схеме.Таким образом, я не могу добавить еще один корневой узел, потому что даже если служба не выдаст никаких исключений, профиль не будет использоваться.
XMLBeans уже добавляет базовое дерево XML, я имею в виду узел профиля вдокумент запроса.Таким образом, я не могу использовать его в качестве корневого узла.если я добавлю корневой узел, будет создан следующий XML
<profile>
<profile></profile>
</profile>
И я хочу, чтобы документ был отформатирован следующим образом:
<profile><br>
<accounts></accounts>
<payees></payees><br>
</profile>
Я предпочитаю неизменение схемы сервиса.Я хотел бы знать, есть ли способ с Axis2 / XMLBeans решить эту проблему.