首页 > 代码库 > CXF wsdl2java : The attribute required is undefined for the annotation type XmlElementRef

CXF wsdl2java : The attribute required is undefined for the annotation type XmlElementRef

cxf 根据wsdl 文件生成客户端Java类

下载:apache-cxf-2.7.5

1、打开cmd 进入 apache-cxf-2.7.5\bin

2、输入 wsdl2java -p "生成类的包名" - client "wsdl地址"

例如:(wsdl2java.bat -frontend jaxws21  -p “com.test” -client  "http://192.168.3.105/services/Msp?wsdl"

在com.test 中带名称为client的类是测试类,可以修改里面的参数然后调用方法得到返回值。

在eclipse中创建项目:添加包


若存在问题:The attribute required is undefined for the annotation type XmlElementRef

解决方法:

第一,这里需要做如下的处理:
  

1、拷贝apache-cxf-2.7.0\lib目录下的endorsed文件夹(里面包含geronimo-jaxws_2.2_spec-1.1.jar和jaxb-api-2.2.6.jar 两个jar包);


2、将上述复制好的文件夹复制到%JAVA_HOME%\jre\lib目录下

3、重启eclipse即可。


第二,在执行wsdl2java的时候加上"-frontend jaxws21"就可以了

这样程序就可以正常使用@XmlElementRef

例如:

wsdl2java.bat -frontend jaxws21  -p “com.test” -client  "http://192.168.3.105/services/Msp?wsdl"



CXF wsdl2java : The attribute required is undefined for the annotation type XmlElementRef