【问题标题】:how to work wsimport for this WSDL i get errors and i cant make it work如何为这个 WSDL 工作 wsimport 我得到错误,我不能让它工作
【发布时间】:2013-12-10 16:59:19
【问题描述】:

我正在尝试使用命令 wsimport 来获取 SOAP 服务的 java 类,但我得到了很多错误。

Url WSDL 是这个 https://onlineavl2api-mx.navmanwireless.com/onlineavl/api/V1.3/service.asmx?WSDL

这是我得到的错误之一(有一堆)

 [ERROR] Two declarations cause a collision in the ObjectFactory class.
  line 820 of https://onlineavl2api-mx.navmanwireless.com/onlineavl/api/V1.3/ser
  vice.asmx?WSDL

【问题讨论】:

    标签: java web-services soap wsdl wsimport


    【解决方案1】:

    要生成我使用的 WebService 客户端:

    wsimport -keep -p clientC https://onlineavl2api-mx.navmanwireless.com/onlineavl/api/V1.3/service.asmx?WSDL

    【讨论】:

    • 您尝试运行它了吗?我不能
    【解决方案2】:

    wsimport 正在尝试在同一个包中生成具有相同名称的类,为了解决这个问题,我会尝试:

    1.- 省略 -p clientC

    2.- 在 web 服务上添加注释,如下所示:

    package com.me.basiccalcws;
    
    import javax.jws.WebService;
    
        @WebService(targetNamespace = "http://client.basiccalcws.me.com/")
        public class Calculator {
            public int add(int a, int b) {
                return a + b;
            }
        }
    

    取自Name Collision In Wsimport Generated Class And My Original Web Service Class

    最好的问候

    【讨论】:

    • 我通过省略 -p clientC 得到相同的结果,那么我究竟如何将 taht 添加到 web 服务中?
    • 如果有帮助请告诉我
    • 我认为它有帮助,问题是我不确定如何做到这一点,我该把代码放在哪里??
    • 应将代码原样放在名为 com.me.basiccalcws 的包中并定义一个名为 Calculator 的类,您必须在其中放置代码。完成后,您已经创建了服务并且可以在该服务上执行 de wsimport,您必须为自己的 Web 服务执行类似的操作。对于您正在创建客户端的 Web 服务,您是否可以控制该代码,或者您只是为不属于您的服务创建客户端?
    • 我正在为不属于我的服务创建客户端,但由于某种原因 wsimport 无法使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2017-10-04
    相关资源
    最近更新 更多