我在 Java 中使用合约优先生成的 Web 服务有问题。在我的模式中,我有这样的东西:
<element maxOccurs="1" minOccurs="1" name="GUID" type="xs:long" />
生成具有如下字段的类:
protected long GUID;
现在,当我尝试触发我的 web 服务时,当不为 GUID 输入任何值时,新 java long 的默认值设置为 (0),并且不会引发异常。当然这不是好的行为,因为我应该需要 guid 元素。另一方面,当我将架构元素更改为以下内容时:
<element maxOccurs="1" minOccurs="0" name="GUID" type="xs:long" />
(从逻辑的角度来看这是不正确的,因为需要 GUID 元素)生成的类字段如下所示:
{protected Long GUID; }
现在,当在 Web 服务执行中未设置 GUID 时,GUID 值为 null,我可以检查我是否从 java 代码中抛出异常。
因此,我想请教您如何使用 minOccurs="0" 生成的具有受保护的 Long GUID 的类;(或至少在未设置此值时出现异常)
我正在使用 glassfish 2.1.1 和 SopaUI 提供的 JAXB 来执行 Web 服务。