cxf搭建webservice,传递javabean参数提示类转换错误
我用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里定义?比如包名啥的,知道的朋友能否告知下,哎!