9

我正在尝试创建一个客户端库来从 java访问Mantis 。问题是我遇到了一个错误,我不知道为什么。

运行此命令:

wsimport http://www.mantisbt.org/demo/api/soap/mantisconnect.php?wsdl

根本失败。它应该创建某种客户端库以从 java 访问服务,但我收到此错误:

[ERROR] "Use of SOAP Encoding is not supported. 
SOAP extension element on line 1,075 in http://www.mantisbt.org/demo/api
/soap/mantisconnect.php?wsdl has use="encoded" "

我在互联网上查看了对这个错误的模糊引用,它似乎是指令的错误,但事实并非如此:我试图用下载的 xml 版本解决这个问题,但它没有工作。

我想我可能需要某种目录来成功实现这一代,可以吗?如果是这样,有没有人如何创建这个?我进行了一些搜索,但我对 Web 服务的一般知识太有限,无法实现。

提前致谢,

4

2 回答 2

1

问题的症结在于,mantis WSDL 描述的是 rpc/encoded Web 服务,而现代 wsimport 工具不支持这种风格。

http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/上对不同类型的 Web 服务样式进行了很好的描述。

使用 RPC/编码 Web 服务的最佳方式提供了相关问题和自助服务答案?. 该答案使评论“我也对使用 JAX-RPC 来完成这项工作表示怀疑,因为它已经过时了。”但这确实是您在这里处理的内容,所以使用“旧库”真的会是正确的方法。

于 2012-05-08T02:34:30.060 回答
1

使用 Axis 1.4 是一种选择吗?如果是,我们已经在 Maven 中心部署了 MantisBT 的 Axis 1 SOAP 存根。

或者,在 Github 上的jerr/mantis-ws-client上有一个源项目,它应该如何使用 JAX-RPC 构建工件。

于 2012-05-08T06:22:46.830 回答