cxf搭建webservice,传递javabean参数提示类转换错误

pcodecode 2016-12-10 10:41:26


我用cxf(版本3.1.5)搭建了一个webservice,AsEntitymgttemplate是自定义的一个javabean对象,webservice方法传了一个这个参数。
package com.XXXX.XX.base.webservice
@WebService
public interface AmSynDataService {
@WebMethod
public AsEntitymgttemplate testAsEntitymgttemplate2(@WebParam(name = "temp") AsEntitymgttemplate temp);
}

package com.XXXX.XX.base.webservice
@WebService
public class AmSynDataServiceImp implements AmSynDataService{

@WebMethod
public AsEntitymgttemplate testAsEntitymgttemplate2(@WebParam(name = "temp") AsEntitymgttemplate temp){
return new AsEntitymgttemplate();
}

}
模拟客户端调用
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://localhost:8089/test/services/AmSynDataService?wsdl");
client.invoke("testAsEntitymgttemplate2", new AsEntitymgttemplate() );

这个自定义的类大概如下:
package com.XXXX.XX.model.entity;

@Data
@XmlRootElement(namespace="http://com.XXXX.XX.model.entity")
@XmlAccessorType(XmlAccessType.FIELD)
public class AsEntitymgttemplate extends AsBaseEntity {

/**
*
*/
private static final long serialVersionUID = -7027445566997840698L;

private Long id;
private String name;
private String entityname;
}
现在调用这个webservice接口,总是提示对象转换错误,

Caused by: java.lang.ClassCastException: com.XXXX.XX.model.entity.AsEntitymgttemplate cannot be cast to com.XXXX.XX.base.webservice.AsEntitymgttemplate
我的AsEntitymgttemplate对象明明是在entity包下面,为什么cxf一定要我放到webservice接口包下面呢?
是不是我哪里还需要在接口里或在javabean里定义?比如包名啥的,知道的朋友能否告知下,哎!

...全文
554 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧