【问题标题】:Is it possible to create web-service where some operations have QUALIFIED elements and others have UNQUALIFIED?是否可以创建一些操作具有 QUALIFIED 元素而其他操作具有 UNQUALIFIED 的 Web 服务?
【发布时间】:2016-01-16 14:35:44
【问题描述】:

同事,情况: 我有一个 WSDL,用于使用 CXF 中的 wsdl2java 生成类并部署 Web 服务。在今天之前,Web 服务操作运行良好。在请求中,每个属性都有一个前缀(据我了解,这意味着“合格”)。 今天我决定为“硬编码”客户端添加一个新操作。该客户端的一个特点是它要求在请求中没有前缀(新)的元素的属性。 例如。客户端处理请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sin="http://my.comp/2010/webservice/Service" xmlns:new="http://www.webservice.namespace">
   <soapenv:Header/>
   <soapenv:Body>
      <sin:AuthData>
         <new:login>121212</new:login>
         <new:password>12121</new:password>
      </sin:AuthData>
   </soapenv:Body>
</soapenv:Envelope>

但不适用:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sin="http://my.comp/2010/webservice/Service" xmlns:new="http://www.webservice.namespace">
   <soapenv:Header/>
   <soapenv:Body>
      <sin:AuthData>
         <login>121212</login>
         <password>12121</password>
      </sin:AuthData>
   </soapenv:Body>
</soapenv:Envelope>

,其中loginpassword 元素中没有标签new

问题:

是否可以创建 Web 服务,其中某些操作具有所有具有前缀的元素和其中元素没有前缀的操作?

如何实现这一点:正确的 WSDL、正确的 CXF 生成的类或其他什么?

我尝试更正类 package-info.java (elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED -> elementFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED) 但在这种情况下,所有元素的所有前缀都被删除。我很乐意接受任何建议。

感谢您的帮助。

【问题讨论】:

    标签: java web-services wsdl cxf jax-ws


    【解决方案1】:

    看来,将我希望不带前缀(不合格)的类移动到另一个包会有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-02-11
      • 2020-03-10
      • 2017-06-08
      • 2012-05-21
      • 1970-01-01
      • 2014-11-04
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多