这是什么意思啊?
<xsd:element name="test" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="test" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
解决方案 »
- ie和火狐解析window.location.href的路径问题!
- 急!!高手进,小弟有,org.xsocket.connection.BlockingConnection,连接问题
- 各位大侠速救!java用poi按书签读取word文件
- Ralasafe可以代替Acegi吗?
- 是不是能用javascript解决的问题最好不要用ajax?
- ###知名外企高薪诚聘Senior Software Engineer, Tuxedo###
- 如何在Tomcat中指定log文件的位置(使用log4j输出log信息)???
- 請各位大哥們幫我找一下(進來有分)
- 用ant编译EJB工程时如何写classpath格式?
- 请问如何修改EJB Container所能存储的EJB Object 的最大数目
- DOM生成XML时关于GB2312的问题(百分求解)
- microsoft IIS与tomcat可否并存?
<sequence>
<element name="x" type="int"/>
<element name="x" type="double"/>
<sequence>
</complexType>
如果服务端和客户端都是java,可以使用HashMap,
(里面都是简单对象不需要注册,如果有自定义对象则需要注册)
如果是与其他语言交互,则不应使用HashMap,
使用ValueObject(或valueObject数组)即可,或者嵌套的valueObject
总之,尽量避免用HashMap
我知道怎么定义数组这些简单的数据结构。
你知道如何定义吗?
如果你两端都是Java,本来就不需要定义。
如果另一端不是Java你定义了也没用。
明白了么?
现在确定两端都是用Java.
为什么不需要定义呢???
用这段代码我可以生成一个数组.
<xsd:element name="test" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
那么我如何用xml schema定义一个hashmap的数据结构呢???
郁闷ing
先给你一个参考描述:
<schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="mapItem">
<sequence>
<element name="key" nillable="true" type="xsd:string" />
<element name="value" nillable="true" type="xsd:string" />
</sequence>
</complexType>
<complexType name="Map">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
</sequence>
</complexType>
</schema>
但是,即使记住这些也是没有意义的。
这是因为WSDL是采用标准的XML Schema描述对象。
不可能给出特定的Java性质的HashMap,
在解析的过程中由各个SDK自行序列化。上面的例子就是Axis自行序列化的一个样式。
你看到表面上它有一个key value 对,实际上它使用时并不局限于字符对。
特别需要说明的是,在了解理论知识时可以手工编写一些WSDL
但是在实际开发时一般并不是先写出WSDL的,
这是因为,大多数的接口都是比较复杂的,手工编写是费力而且效果不好的工作。
一般由开发人员定出接口,由依赖具体语言SDK自动生成WSDL。
这也是Web 服务设计的初衷:机器生成,机器阅读。
罗嗦这些,希望能对你有用。
但是较复杂的类型,sdk是无法生成正确的wsdl的,
我觉得最终还是要回归到对xml schema的掌握.