SOAP WSDL 序列定义 - 一个参数还是多个?
SOAP WSDL sequence definition - one argument or many?
Problem/Intro
由于 REST,我已经很多年没有真正使用过 SOAP 了。
我在 WSDL
文件中有以下定义:
<xs:complexType name="findByIdentifier">
<xs:sequence>
<xs:element name="arg0" type="xs:long"/>
</xs:sequence>
</xs:complexType>
从WSDL2Java
生成的代码方法是
findByIdentifier(
@WebParam(name = "arg0", targetNamespace = "")
long arg0
)
要求提交的是长数组。
我还看到 WSDL 中缺少 maxOccurs
和 minOccurs
。
问题
我应该如何修改项目中的 WSDL 文件,以便生成采用数组的方法?
如果我不应该破解 WSDL,我是否应该通过扩展 class 或自定义客户端实现(违背生成代码的目的)来做一些其他事情,比如自定义实现?
团队负责人提出的解决方案是使用 loop
,因为 WSDL 和实际的网络服务行为表明参数不支持 array
。
Problem/Intro
由于 REST,我已经很多年没有真正使用过 SOAP 了。
我在 WSDL
文件中有以下定义:
<xs:complexType name="findByIdentifier">
<xs:sequence>
<xs:element name="arg0" type="xs:long"/>
</xs:sequence>
</xs:complexType>
从WSDL2Java
生成的代码方法是
findByIdentifier(
@WebParam(name = "arg0", targetNamespace = "")
long arg0
)
要求提交的是长数组。
我还看到 WSDL 中缺少 maxOccurs
和 minOccurs
。
问题
我应该如何修改项目中的 WSDL 文件,以便生成采用数组的方法?
如果我不应该破解 WSDL,我是否应该通过扩展 class 或自定义客户端实现(违背生成代码的目的)来做一些其他事情,比如自定义实现?
团队负责人提出的解决方案是使用 loop
,因为 WSDL 和实际的网络服务行为表明参数不支持 array
。