最近使用CXF2.1, 服务端语言是java, 中间件用tomcat6.0, 遇到了一个问题, 具体的异常信息是:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'OfficeService': Invocation of init method failed; nested exception is org.apache.cxf.service.factory.ServiceConstructionException
出现这个异常有可能是接口类的方法的引起的, 返回结果, 传入参数的类型都会引起上面的异常.
一. 如果方法返回一个自定义类, 如 MyResult,
那么, MyResutl 必须 @XmlRootElement (还多人的例子的有提到接口要加@WebService, 但是对返回的结果就没有提到)
@XmlRootElement
public class MyResult implements Serializable {
.....................
}
如果 MyResult 类里面也有自定义类, 那么这个类前面也要加 @XmlRootElement. 只要是自定义类, 不过在那一层, 都要加上 @XmlRootElement.
二. 接口方法的参数如果是String, 没啥问题, 但是如果其他的类, 如Long , 也是会报上述异常.
PS: 貌似工程里面的jar 包中的 asm 出现冲突也会出现这个异常.