我有一个 WSDL,它定义了一个 type 字段xsd:id
。我发现 wsdl.exe 将其视为string
Silverlight 客户端 VS ASP.NET Web 服务一切正常。实际上,ID 由 DB 作为自动递增整数生成,并在放入 SOAP 时转换为字符串。
使用 Java,xsd:ID 是org.apache.axis.types.ID
并且整数不再起作用。我试图找到 xsd:ID 类型的正确定义和示例,但没有提供任何资金。
我在哪里可以找到这种类型的合法和非法值的示例?
在这里您可以找到 xsd:id 字段的定义:
http://www.schemacentral.com/sc/xsd/t-xsd_ID.html
xsd:id 是对 NCName 的限制,而 NCName 又是对 Name 的限制。如果您查看名称的无效值,您会发现名称不能以数字开头。因此,作为对名称的限制的 id 也不能以数字开头。在这种情况下,我猜 Java 不接受整数是正确的。如链接页面中所述,id 必须与此正则表达式匹配: [\i-[:]][\c-[:]]*