【问题标题】:wsimport fails when trying to create client service library尝试创建客户端服务库时 wsimport 失败
【发布时间】:2012-05-16 09:08:02
【问题描述】:

我正在尝试创建一个客户端库以从 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 服务的一般知识太有限,无法实现。

提前致谢,

【问题讨论】:

    标签: java web-services soap mantis


    【解决方案1】:

    是否可以选择使用 Axis 1.4?如果是,我们已经在 Maven 中心部署了Axis 1 SOAP stubs for MantisBT

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

    【讨论】:

    • 谢谢。 mantis 的这个 API 让我很失望。除此之外,没有任何“优雅”的方式来连接 java 和 mantis。
    • 我不知道。戴上我的 Mantis 贡献者的帽子,随时提交补丁 :-) github.com/mantisbt/mantisbt
    • @RobertMunteanu mantis-ws-client 没有任何文件可供使用。你能帮我用吗?
    【解决方案2】:

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

    http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ 有一篇关于不同类型 Web 服务样式的好文章。

    Best way to consume RPC/encoded webservice? 提供了相关问题和自助答案。该答案使评论“我也对使用 JAX-RPC 来完成这项工作感到怀疑,因为它已经过时了。”但这确实是您在这里处理的内容,因此使用“旧库”确实是正确的方法。

    【讨论】:

    • 感谢您的回答,我会看看您提供的文章。我想我需要一个具体的答案,尽管你对背后的问题做出了明确的解释,但我不得不承认我的票投给了 Rober Munteanu。
    猜你喜欢
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多