java - Axis 中的数组序列化

标签 java soap axis

我在调用 Web 服务时遇到了一个奇怪的问题。我的 stub 生成类似于格式 2 的 SOAP 消息,但服务器期望类似于下面格式 1 的内容。 在axis 1.3中的数组序列化中,以下格式的含义是什么。

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

1)

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

2)

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

最佳答案

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

第一种格式是包裹样式,因为元素被包裹在:

<arrayItemName> ... </arrayItemName>

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

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

关于java - Axis 中的数组序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10538321/

相关文章:

java - JMH - 奇怪的基准测试结果

JavaFX 如何将字符串值设置为 TableView

android - 如何将本地主机 SOAP web 服务连接到我的 android

javascript - Highcharts 单击后将新数据添加到系列中

java - 如何在 Axis1 中使用模块?

java - 使用 Java 进行负载测试 - 计时器任务与调度程序

java - 如何在 MongoDB 3.2 文档中插入对象?

python - 解析包含相互引用的 XSD 的 WSDL

soap - 如何使 JAX-WS 端点接受 SOAP1.2 消息

javascript - Three.js - 围绕特定 Axis 旋转球体