我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS
Web服务。因为我是一个初学者,所以我遵循Java类优先方法,即首先创建Java类,然后生成WSDL文件。
当我尝试创建wsdl文件时,出现异常:
java.security.PrivilegedActionException:com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:IllegalAnnotationsException类的1个计数具有两个名称相同的属性“
planId”
我在这里引用的课程看起来像这样:
public class MemberDetails{
@XMLElement(required=true)
private String planId;
//public getters and setters for the planId;
}
我不知道为什么会发生这种异常。通过谷歌搜索,我尝试了几种解决方案,但是没有一个对我有用:(
注意:
这是我在整个工作空间中使用的唯一注释。我不确定这是否取决于其他注释。但是我每次都尝试使用诸如@XMLElement(name =“
Plan”,required = true),@ XMLType之类的方法,但是每次遇到此异常时,我都会尝试使用。
wsgen期间发生此异常。( java.lang.reflect.InvocationTargetException )
编辑
基本上,当我们从java服务方法创建wsdl并在SOAP UI中打开该WSDL时,我们就位于每个元素的顶部。我想删除此选项标签标签,因此我尝试使用@XMLElement(required
= true)方法,以便在SOAP UI 中打开WSDL时对于强制性元素不会出现。
根据我的概念,@ XMLElement(required = true)会将minOccurs设置为1,即大于零,因此当我在SOAP
UI中打开时,将从WSDL中删除可选注释。但是不幸的是它不起作用,因此我的概念是错误的。生成WSDL之后,我可以看到minOccurs仍然为0。
请说明在SOAP UI中打开WSDL时如何删除可选标记。
问候,