【问题标题】:Empty class when generating client webservice code with wsimport使用 wsimport 生成客户端 Web 服务代码时的空类
【发布时间】:2013-10-16 22:43:26
【问题描述】:

我正在使用 wsimport 来生成客户端 Web 服务代码。 (请参阅下面的部分 wsdl 代码)。

代码生成完成后,我会得到没有定义方法的空 TokenRequest 类。 另一方面,TokenResponse 类定义了几个方法,setter 和 getter 很少。

鉴于下面的 WSDL,为什么我的 TokenRequest 类是空的?

我希望它有 4 个用于 ClientKey、Password、UserKey 和 UserName 的 setter 方法。 现在,我无法设置这些参数并将它们传递给接收此 TokenRequest 对象的主登录方法。

我尝试在 .NET 4.0 中创建对此 Web 服务的引用,并且一切正常。 TokenRequest 类的构造函数接收我需要的 4 个参数。

知道有什么问题吗?明天我将尝试使用 Axis2...

   <?xml version="1.0" encoding="utf-8"?>
    ...
                <wsdl:input name="TokenRequest">
                    **<soap12:header message="i0:TokenRequest_Headers" part="ClientKey" use="literal"/>
                    <soap12:header message="i0:TokenRequest_Headers" part="Password" use="literal"/>
                    <soap12:header message="i0:TokenRequest_Headers" part="UserKey" use="literal"/>
                    <soap12:header message="i0:TokenRequest_Headers" part="UserName" use="literal"/>
                    <soap12:body use="literal"/>**
                </wsdl:input>
                <wsdl:output name="TokenResponse">
                    <soap12:body use="literal"/>
                </wsdl:output>
     ...

【问题讨论】:

    标签: java wsdl jax-ws wsimport


    【解决方案1】:

    link“4.1.4. 将其他 WSDL 标头映射到方法参数” 部分将解释为什么 wsimport 不会生成您想要的soap标头属性。并且在 4.1.4 部分有一条注释说 “从 JAX-WS RI 2.1.3 开始,wsimport 有一个新选项 -XadditionalHeaders,此选项会将此类附加标头映射为方法参数。”。所以你应该看看图书馆(Metro,Axis,CXF,......)的文档,看看他们是否有这样的功能。

    【讨论】:

    • 谢谢,但是 -XadditionalHeaders 参数没有改变输出。我仍然有没有定义构造函数或方法的空类
    • 可能是因为 jax-ws (Metro) 库的版本太旧(2.1.3 之前)。有什么方法可以确认您使用的是什么版本的 Metro。同时,我会尝试生成并通知您。
    • 我尝试使用自上而下的方法和 @WebParam(header=true) 注释创建肥皂标题。它使用soap:header 生成wsdl,当我生成客户端时,它会生成带有额外标头参数的方法。现在一切似乎都很容易和正常。我的第一个问题是,当您从 wsdl 生成 java 时,您是否看到任何磨损?你能验证你的 wsdl 吗?。
    • 我得到的唯一警告是:SOAP 端口“LoginService”:使用非标准 SAOP 1.2 绑定。有人告诉我在 wsimport 中包含 -extension 开关并忽略此警告...
    • 呃。抱歉,-XadditionalHeaders 参数确实有帮助。我只是没注意到。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多