我有一个用VB.NET编写的WebService,在其中,我有一个Long定义如下:
<s:element minOccurs="0" maxOccurs="1" name="clientId" type="s:long"/>
现在,每当我从另一个VB.NET应用程序调用此WS以及设置clientId
var时,我还必须将clientIdSpecified
设置为True
- 这就是.NET的怪癖。但是,我的客户端使用Java,问题是 - 他们是否必须这样做并将clientIdSpecified
设置为True
?
这个布尔值不是规范的一部分,所以如果他们确实需要设置它,我必须警告它们。
答案 0 :(得分:2)
如果你的客户端使用java,只需给它们xsd文件,它应该足够好,因为它可以被编译成java类,在被编组到xml之前提供验证。
值得注意的是,minOccurs = 0表示设置是可选的。
答案 1 :(得分:1)
在Java方面,这种构造通常使用java.lang.Long
编译成类型为long
的属性(包装类)而不是null
(基元类型) value表示元素不存在的情况。