尝试创建客户端服务库时wsimport失败

时间:2012-05-07 21:10:15

标签: java web-services soap mantis

我正在尝试创建一个客户端库来从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服务的了解总体来说太有限了。

提前致谢,

2 个答案:

答案 0 :(得分:1)

问题的关键在于,螳螂WSDL正在描述一个rpc /编码的Web服务,现代wsimport工具不支持该样式。

不同类型的Web服务样式的良好写法位于http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

Best way to consume RPC/encoded webservice?提供了相关问题和自助服务答案。这个回答使得评论'我对使用JAX-RPC进行这项工作也有疑问,因为它已经过时了。',但这真的是你在这里处理的事情,所以使用'旧库'真的会是正确的方法。

答案 1 :(得分:1)

使用Axis 1.4是一个选项吗?如果是,我们在Maven central上部署了Axis 1 SOAP stubs for MantisBT

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

相关问题