pjj1989
pjj1989
采纳率0%
2016-12-10 14:35 阅读 1.4k

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

1

我用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里定义?比如包名啥的,知道的朋友能否告知下,哎!
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐