【问题标题】:How to Specify (give an actual name) XML fields in Java (Apache CXF)如何在 Java (Apache CXF) 中指定(给出实际名称)XML 字段
【发布时间】:2020-03-02 11:15:19
【问题描述】:

操作是 JAVA 到 WSDL。我正在创建一个 SOAP Web 服务。

我生成了一个 SOAP 网络服务,其属性如下所示:

         <arg0>?</arg0>
         <!--Optional:-->
         <arg1>?</arg1>
         <!--Optional:-->
         <arg2>?</arg2>
         <!--Optional:-->
         <arg3>?</arg3>
         <!--Optional:-->
         <arg4>?</arg4>

我应该使用什么 XML 注释来指定它们看起来像这样:

<name> </name>
<age> </age>
<location> </location>

我们说

String age = "";
String name = "";
String location = "";

我会使用

@XmlAttribute(name="age")
String age = "";
@XmlAttribute(name="name")
String name = "";
@XmlAttribute(name="location ")
String location = "";

我使用 Apache CXF。生成WebService -> yada -> yada 在 Eclipse 中。

基本上,我要问的是负责将 Java 字段从 arg0“重命名”为特定内容(如“名称”)的 XML 关键字。

【问题讨论】:

  • 你如何生成你的 WS (wsdl->java,java->wsdl?)? ..到目前为止,您使用了哪些注释?对不起,问题是(对我来说)仍然不清楚/需要更多细节/信息/上下文。
  • 目前还没有注释。

标签: java xml web-services soap jaxb


【解决方案1】:

我没有使用 CXF 创建服务,只是一个客户端,但是当使用 Apache cxf-codegen-plugin 从 wsdl 生成源时,对象属性上的注释是 @XmlElement(name = "age")

如果需要架构类型,注释为@XmlSchemaType(name = "string")

对于枚举,它是 @XmlEnumValue("THE VALUE")

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 2013-06-25
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多