JAX-WS: как сообщить клиенту допустимые значения параметров? - PullRequest
1 голос
/ 18 мая 2011

Я создаю простой веб-сервис только с одним методом. Клиент отправляет список строк, которые представляют собой названия объектов (туалеты, принтеры, клады и т. Д.), Которые они хотят найти. Служба отправляет обратно все объекты, которые были запрошены.

Очевидно, что сервер может понимать только определенные строки. Если клиент запросил «торт», сервер не имеет информации об этом. Я уже закодировал службу для отправки исключения, если ему даны какие-либо недопустимые строки, но есть ли способ указать в файле WSDL список допустимых значений, чтобы клиенты могли заранее знать, что отправлять?

Я использую инструменты создания веб-службы NetBeans для реализации службы, поэтому, если кто-то сможет указать, как это можно сделать с помощью этих инструментов, это будет бонусом. Спасибо всем, кто может помочь.

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Используйте перечисления вместо строк, и wsdl будет представлять перечисление с возможными значениями в XML-схеме. если вы пишете свой собственный WSDL, вам нужно узнать о перечислениях в XML-схеме. Если вы Java-первый, просто используйте перечисление Java.

0 голосов
/ 18 мая 2011

Вам нужно будет указать эти желаемые ограничения в WSDL или в импортированном XSD для каждого из типов, соответствующих входным сообщениям.

Кроме того, вам нужно включить проверку схемы. Предполагая, что вы используете Metro в качестве реализации JAXWS, вам нужно будет использовать аннотацию SchemaValidation .

Более подробную информацию можно найти в этом связанном вопросе на StackOverflow .

...