JAX-WS:如何通知客户端有效的参数值?

时间:2011-05-18 00:32:24

标签: java jax-ws

我只用一种方法创建一个简单的Web服务。客户端发送一个字符串列表,这些字符串是他们想要找到的设施(厕所,打印机,埋藏的宝藏,等等)的名称。该服务发回所请求的任何设施的位置。

显然服务器只能理解某些字符串。如果客户端要求“蛋糕”,则服务器没有相关信息。我已经将服务编码为发送异常,如果它被赋予任何无效的字符串,但有没有办法在WSDL文件中指定有效值列表,以便客户端可以提前知道要发送什么?

我正在使用NetBeans Web服务创建工具来实现该服务,因此,如果有人可以指定如何使用这些工具完成此操作,那将是一个奖励。 感谢任何可以提供帮助的人。

2 个答案:

答案 0 :(得分:1)

使用枚举而不是字符串,wsdl将使用XML Schema中的可能值表示枚举。如果您正在编写自己的WSDL,则必须了解XML模式中的枚举。如果您是Java优先的,只需使用Java枚举。

答案 1 :(得分:0)

对于与输入消息对应的每种类型,您需要在WSDL或导入的XSD中指定这些所需的限制。

此外,您还需要启用架构验证。假设您使用Metro作为JAXWS实现,则需要使用SchemaValidation annotation

更多细节可以在this related question at StackOverflow找到。