【问题标题】:Why JAX-WS generates wrapper for all method arguments?为什么 JAX-WS 为所有方法参数生成包装器?
【发布时间】:2014-01-30 14:08:08
【问题描述】:

我正在尝试使用 jax-ws 生成 Web 服务接口,但我得到了一个包含所有参数的包装类的方法,而不是参数列表。例如:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@WebResult(name = "ResendControlsToDmiResponse", targetNamespace = "http://tempuri.org/", partName = "parameters")
@WebMethod(operationName = "ResendControlsToDmi", action = "http://tempuri.org/ResendControlsToDmi")
@Generated(value = "org.apache.cxf.tools.wsdlto.WSDLToJava", date = "2014-01-30T16:01:26.266+02:00")
public ResendControlsToDmiResponse resendControlsToDmi(
@WebParam(partName = "parameters", name = "ResendControlsToDmiData", targetNamespace = "http://tempuri.org/")
    ResendControlsToDmiData parameters
);

无法理解为什么会发生这种情况以及如何生成具有正确签名的方法。

【问题讨论】:

    标签: wsdl jax-ws cxf


    【解决方案1】:

    部分元素的命名规则与操作名称相关。在您的情况下,看起来该操作被命名为resendControlsToDmi,但传入的数据部分/元素被命名为ResendControlsToDmiData。删除末尾的Data,它可能会改变。响应元素是正确的ResendControlsToDmiResponse

    【讨论】:

    • 所以,据我了解,输入参数名称应该与操作名称匹配?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多