IllegalAnnotationsException:类具有两个相同名称的属性

我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS

Web服务。因为我是一个初学者,所以我遵循Java类优先方法,即首先创建Java类,然后生成WSDL文件。

当我尝试创建wsdl文件时,出现异常:

我在这里引用的课程看起来像这样:

public class MemberDetails{

@XMLElement(required=true)

private String planId;

//public getters and setters for the planId;

}

我不知道为什么会发生这种异常。通过谷歌搜索,我尝试了几种解决方案,但是没有一个对我有用:(

这是我在整个工作空间中使用的唯一注释。我不确定这是否取决于其他注释。但是我每次都尝试使用诸如@XMLElement(name =“

Plan”,required = true),@ XMLType之类的方法,但是每次遇到此异常时,我都会尝试使用。

wsgen期间发生此异常。( )

基本上,当我们从java服务方法创建wsdl并在SOAP UI中打开该WSDL时,我们就<!--

Optional-->位于每个元素的顶部。我想删除此选项标签<!--Optional-->标签,因此我尝试使用@XMLElement(required

= true)方法,以便在SOAP UI <!--Optional-->中打开WSDL时对于强制性元素不会出现。

根据我的概念,@ XMLElement(required = true)会将minOccurs设置为1,即大于零,因此当我在SOAP

UI中打开时,将从WSDL中删除可选注释。但是不幸的是它不起作用,因此我的概念是错误的。生成WSDL之后,我可以看到minOccurs仍然为0。

请说明在SOAP UI中打开WSDL时如何删除可选标记。

问候,

回答:

默认情况下,

实现处理公共访问器方法和带注释的字段。如果您为字段添加注释,则该字段也具有get / set方法,则将出现此异常:

如果要注释字段,则应指定 @XmlAccessorType(XmlAccessType.FIELD)

@XmlAccessorType(XmlAccessType.FIELD)

public class MemberDetails{

@XMLElement(required=true)

private String planId;

//public getters and setters for the planId;

}

或者您可以注释属性

public class MemberDetails{

private String planId;

@XMLElement(required=true)

public String getPlanId() {

return planId;

}

}

  • http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html

以上是 IllegalAnnotationsException:类具有两个相同名称的属性 的全部内容, 来源链接: utcz.com/qa/428945.html

回到顶部