0

我们目前正在使用供应商提供的非常大的 WSDL 模式。绑定样式为 RPC。据我所知,Axis 1.x 是唯一支持 RPC WSDL 定义的 Java 工具。如果我错了,请纠正我。

WSDL2Java 生成一个服务名称Skeleton.java文件,该文件有一个大小为 1.3Mb 的静态初始化块 - 远大于 Java 的 64K 限制。

鉴于我们无法更改接口的定义,您认为我们应该如何进行?

在我看来,我们的选择是:

  • 分解生成的静态块
  • 分解 WSDL(不确定在不改变接口的情况下是否可行)
  • 修补 Axis WSDL2Java 代码

还有其他想法吗?

4

2 回答 2

1

如果您的 wsdl 可能会经常更改,那么可能值得修补 wsdl2java 代码,否则我会选择第一个选项。

于 2009-04-07T05:36:50.780 回答
1

请参阅这篇文章,它提供了一些关于如何将 RPC WSDL 转换为文档的说明。我建议先尝试一下。

此外,您可能有一个 RPC/编码的 WSDL(顺便说一下,它不符合 WS-I)。JAXWS 仅支持 RPC/literal。所以任何框架(如 CXF 或 Axis2)都会支持它。因此,您也可以尝试将 WSDL 转换为 RPC/literal。

CXF 有一个工具可以为您完成这项工作。

无论如何,我建议尝试将 WSDL 转换为更新的形式。对于服务器和客户端实现,这将使您的生活更轻松。我认为这不值得与 Axis1 战斗。甚至手动编写和解析 SOAP 消息也会更容易。

于 2009-04-07T06:14:07.007 回答