Axis中的数组序列化

时间:2012-05-10 16:24:43

标签: java soap axis

调用Web服务时遇到了一个奇怪的问题。我的存根生成肥皂消息,如格式2,但服务器需要类似于下面的格式1。 在1.3轴的数组序列化中,以下格式的含义是什么。

在arrayItemType下面是正在序列化的对象类型,而arrayItemName是该对象的名称。

1)

 <arrayItemName>
  <arrayItemType></arrayItemType>
  <arrayItemType></arrayItemType>
 </arrayItemName>

2)

<arrayItemName>
</arrayItemName>
<arrayItemName>
</arrayItemName>

1 个答案:

答案 0 :(得分:1)

您的WSDL文件的样式是什么? SOAP文档取决于WSDL文件中使用的样式。

第一种格式是包装样式,因为元素包含在:

<arrayItemName> ... </arrayItemName>

所以我想如果您的存根生成类似于格式2的soap消息,它将使用rpc / encoded或除了包装之外的任何其他WSDL样式。因此,我建议您始终对wsdl文件使用 document / literal wrapped 样式,并且在使用不同堆栈等生成客户端时会出现任何问题。

您可以在此处找到有关WSDL样式的有用信息:http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/