Как сериализовать мой класс запроса SOAP с пространствами имен с помощью XmlMapper? ⇐ JAVA
Как сериализовать мой класс запроса SOAP с пространствами имен с помощью XmlMapper?
Для SOAP API мне нужно отправить XML-запрос POST в следующем формате:
тест тест De Виды В моем Java-коде для этого есть следующий POJO:
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "Имя пользователя", "пароль", "язык", "имя данных", "значения поиска", "настройки" }) @XmlRootElement(name = «Поиск») публичный класс Поиск { @XmlElement(name = "Имя пользователя") защищенное имя пользователя String; @XmlElement(name = «Пароль») защищенный строковый пароль; @XmlElement(name = "Язык") защищенный строковый язык; @XmlElement(name = «имя данных») имя защищенной строки; @XmlElement(name = «Значения поиска») защищенные строковые значения поиска; @XmlElement(name = "Настройки") настройки защищенной строки; /** * Получает значение свойства имени пользователя. * * Возможный объект @return: {@link String } */ публичная строка getUsername() { вернуть имя пользователя; } /** * Устанавливает значение свойства имени пользователя. * * Разрешенный объект значения @param: {@link String } */ public void setUsername (строковое значение) { это.имя_пользователя = значение; } /** * Получает значение свойства пароля. * * Возможный объект @return: {@link String } */ общественная строка getPassword() { вернуть пароль; } /** * Устанавливает значение свойства пароля. * * Разрешенный объект значения @param: {@link String } */ public void setPassword (строковое значение) { this.пароль = значение; } /** * Получает значение свойства языка. * * Возможный объект @return: {@link String } */ публичная строка getLanguage() { возврат языка; } /** * Устанавливает значение свойства языка. * * Разрешенный объект значения @param: {@link String } */ public void setLanguage (строковое значение) { this.language = значение; } /** * Получает значение свойства dataname. * * Возможный объект @return: {@link String } */ публичная строка getDataName() { вернуть имя данных; } /** * Устанавливает значение свойства dataname. * * Разрешенный объект значения @param: {@link String } */ public void setDataname (строковое значение) { this.dataname = значение; } /** * Получает значение свойства значения поиска. * * Возможный объект @return: {@link String } */ общественная строка getSearchValues() { возврат значений поиска; } /** * Устанавливает значение свойства значения поиска. * * Разрешенный объект значения @param: {@link String } */ public void setSearchValues (строковое значение) { this.searchvalues = значение; } /** * Получает значение свойства settings. * * Возможный объект @return: {@link String } */ публичная строка getSettings() { вернуть настройки; } /** * Устанавливает значение свойства settings. * * Разрешенный объект значения @param: {@link String } */ public void setSettings (строковое значение) { this.settings = значение; } @Override общедоступное логическое значение равно (Объект o) { если (это == о) { вернуть истину; } if (o == null || getClass() != o.getClass()) { вернуть ложь; } Поиск поиск = (Поиск) o; return Objects.equals(имя пользователя, search.username) && Objects.equals(пароль, search.пароль) && Objects.equals(язык, search.language) && Objects.equals(имя данных, search.dataname) && Objects.equals(searchvalues, search.searchvalues) && Objects.equals(настройки, настройки поиска); } @Override общественный int hashCode() { вернуть Objects.hash(имя пользователя, пароль, язык, имя данных, значения поиска, настройки); } } final String requestData = xmlMapper.writeValueAsString(requestPojo); requestData выглядит следующим образом:
тест тест De Вид Что совершенно не соответствует требованиям.
Итак, как мне добавить эти специальные пространства имен? xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws1="http://ws1.myapi.ch/< /код>?
Как лучше всего добавить префиксы имен элементов, например ?
Для SOAP API мне нужно отправить XML-запрос POST в следующем формате:
тест тест De Виды В моем Java-коде для этого есть следующий POJO:
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "Имя пользователя", "пароль", "язык", "имя данных", "значения поиска", "настройки" }) @XmlRootElement(name = «Поиск») публичный класс Поиск { @XmlElement(name = "Имя пользователя") защищенное имя пользователя String; @XmlElement(name = «Пароль») защищенный строковый пароль; @XmlElement(name = "Язык") защищенный строковый язык; @XmlElement(name = «имя данных») имя защищенной строки; @XmlElement(name = «Значения поиска») защищенные строковые значения поиска; @XmlElement(name = "Настройки") настройки защищенной строки; /** * Получает значение свойства имени пользователя. * * Возможный объект @return: {@link String } */ публичная строка getUsername() { вернуть имя пользователя; } /** * Устанавливает значение свойства имени пользователя. * * Разрешенный объект значения @param: {@link String } */ public void setUsername (строковое значение) { это.имя_пользователя = значение; } /** * Получает значение свойства пароля. * * Возможный объект @return: {@link String } */ общественная строка getPassword() { вернуть пароль; } /** * Устанавливает значение свойства пароля. * * Разрешенный объект значения @param: {@link String } */ public void setPassword (строковое значение) { this.пароль = значение; } /** * Получает значение свойства языка. * * Возможный объект @return: {@link String } */ публичная строка getLanguage() { возврат языка; } /** * Устанавливает значение свойства языка. * * Разрешенный объект значения @param: {@link String } */ public void setLanguage (строковое значение) { this.language = значение; } /** * Получает значение свойства dataname. * * Возможный объект @return: {@link String } */ публичная строка getDataName() { вернуть имя данных; } /** * Устанавливает значение свойства dataname. * * Разрешенный объект значения @param: {@link String } */ public void setDataname (строковое значение) { this.dataname = значение; } /** * Получает значение свойства значения поиска. * * Возможный объект @return: {@link String } */ общественная строка getSearchValues() { возврат значений поиска; } /** * Устанавливает значение свойства значения поиска. * * Разрешенный объект значения @param: {@link String } */ public void setSearchValues (строковое значение) { this.searchvalues = значение; } /** * Получает значение свойства settings. * * Возможный объект @return: {@link String } */ публичная строка getSettings() { вернуть настройки; } /** * Устанавливает значение свойства settings. * * Разрешенный объект значения @param: {@link String } */ public void setSettings (строковое значение) { this.settings = значение; } @Override общедоступное логическое значение равно (Объект o) { если (это == о) { вернуть истину; } if (o == null || getClass() != o.getClass()) { вернуть ложь; } Поиск поиск = (Поиск) o; return Objects.equals(имя пользователя, search.username) && Objects.equals(пароль, search.пароль) && Objects.equals(язык, search.language) && Objects.equals(имя данных, search.dataname) && Objects.equals(searchvalues, search.searchvalues) && Objects.equals(настройки, настройки поиска); } @Override общественный int hashCode() { вернуть Objects.hash(имя пользователя, пароль, язык, имя данных, значения поиска, настройки); } } final String requestData = xmlMapper.writeValueAsString(requestPojo); requestData выглядит следующим образом:
тест тест De Вид Что совершенно не соответствует требованиям.
Итак, как мне добавить эти специальные пространства имен? xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws1="http://ws1.myapi.ch/< /код>?
Как лучше всего добавить префиксы имен элементов, например ?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как правильно автоматически загружать классы, безопасные для ОС, с пространствами имен?
Anonymous » » в форуме Php - 0 Ответы
- 33 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как правильно автоматически загружать классы, безопасные для ОС, с пространствами имен?
Anonymous » » в форуме Php - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-