Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / веб-сервис: получить список значений enumeration / 5 сообщений из 5, страница 1 из 1
31.01.2015, 10:23
    #38868333
AndreyDmt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
веб-сервис: получить список значений enumeration
Приветствую!
Есть wsdl с таким описанием типа данных
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
	<xsd:complexType name="HeaderType">
				<xsd:sequence>
					<xsd:element name="Verb">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:enumeration value="GET" />
								<xsd:enumeration value="CREATE" />
								<xsd:enumeration value="UPDATE" />
								<xsd:enumeration value="DELETE" />
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
					<xsd:element name="Noun" type="xsd:string" />
					<xsd:element name="Revision" type="xsd:string" minOccurs="0" />
					<xsd:element name="ReplayDetection" type="msg:ReplayDetectionType" minOccurs="0" />
					<xsd:element name="Context" minOccurs="0">
						<xsd:simpleType>
							<xsd:restriction base="xsd:string">
								<xsd:enumeration value="PRODUCTION" />
								<xsd:enumeration value="TESTING" />
								<xsd:enumeration value="DEVELOPMENT" />
								<xsd:enumeration value="STUDY" />
								<xsd:enumeration value="TRAINING" />
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:element>
...
</xsd:complexType>


Видно, что некоторые строковые поля имеют предопределённый список значений. При генерации классов через wsimport получил следующий код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "HeaderType", propOrder = { "verb", "noun", "revision", "replayDetection",
		"context", "timestamp", "source", "asyncReplyFlag", "replyAddress", "ackRequired", "user",
		"messageID", "correlationID", "comment", "property" })
public class HeaderType {

	@XmlElement(name = "Verb", required = true)
	protected String verb;
	@XmlElement(name = "Noun", required = true)
	protected String noun;
	@XmlElement(name = "Revision")
	protected String revision;
	@XmlElement(name = "ReplayDetection")
	protected ReplayDetectionType replayDetection;
	@XmlElement(name = "Context")
	protected String context;
...
}


Т.е. по честному строковые переменные без намёка на перечисляемые значения. При этом, если загрузить данный wsdl в soapUI, то для данных полей по честному организуются выпадающие списки со значениями. Т.е. получить их как-то можно. Собственно вопрос, как? Т.е. я организую у себя в приложении форму, на которой завожу параметры для запроса и в этот момент сильно хочу заиметь список возможных значений для полей с enumeration. Но не могу.
...
Рейтинг: 0 / 0
01.02.2015, 23:07
    #38868938
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
веб-сервис: получить список значений enumeration
...
Рейтинг: 0 / 0
02.02.2015, 11:54
    #38869244
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
веб-сервис: получить список значений enumeration
AndreyDmt,

А это ваша wsdl? Т.е. можете её менять?
Если да, то попробуйте этот enumeration вынести в отдельный "глобальный" (т.е. на один уровень с "HeaderType") simpleType (например назвать его "Context").
Соответственно в Verb будет такое поле:
Код: xml
1.
<xsd:element name="Context" type="tns:Context" minOccurs="0">


(где tns - название вашего targetnamespace в заголовке описания wsdl).

В этом случае wsimport должен будет вам сгенерить enum Context (где перечислит все ваши возможные значения), а в вашем классе Verb напишет:
Код: java
1.
protected Context context;
...
Рейтинг: 0 / 0
03.02.2015, 07:51
    #38870019
AndreyDmt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
веб-сервис: получить список значений enumeration
Dim666,
wsdl к сожалению чужой. Кстати, для некоторых полей именно так и сделано, как Вы описали. Но для указанных - вот как есть. Но выпадающий список виден для всех подобных полей и как в eclipse web explorer-е, так и в soapui. Значит задача решаема. Бум искать
...
Рейтинг: 0 / 0
03.02.2015, 07:58
    #38870021
AndreyDmt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
веб-сервис: получить список значений enumeration
Dmitry.,
Спасибо за ссылку, очень даже может быть. Разберусь, отвечу получилось ли
А нужно что то вроде как на картинке
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / веб-сервис: получить список значений enumeration / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]