最近项目使用webService 于是就使用了最新版本 3.1.1 .

cxf 客户端调用时老是出现这个错误,综合网上各种资料修改如下,问题解决

"@XmlType.name 和 @XmlType.namespace 为类分配不同的包名"这句话的意思大概就是需要更改包名 实际代码如下

1,客户端生成代码

cxf(3.1.1) 客户端异常 请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。-LMLPHP

2.CreateTask.java中的代码(两个名字一样了所以会报如题的错误)

cxf(3.1.1) 客户端异常 请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。-LMLPHP

3.产生原因是服务端中的包名createTask大写了 (失误)

cxf(3.1.1) 客户端异常 请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。-LMLPHP

4,解决方案:

(1)最佳方案包名createTask 改成 全部小写 createtask

(2)或者生成代码的时候 使用 -p  com.service.createtask 重命名报名即可

(3)第三那种解决方案不建议,把createTask.java中的  @XmlType(name = "CreateTask", propOrder = {   "arg0"}) 中的name 改成 createTask 即可

05-01 07:34