使用Cxf发布Webservice服务,如果待发布的接口中有重载方法,怎么处理??发布服务时提示:
严重: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webServiceSample': Invocation of init method failed; nested exception is javax.xml.ws.WebServiceException: java.lang.IllegalArgumentException: An operation with name [{http://service.cxf.cvicse.com/}sayUserName] already exists in this service
Caused by: javax.xml.ws.WebServiceException: java.lang.IllegalArgumentException: An operation with name [{http://service.cxf.cvicse.com/}sayUserName] already exists in this serviceWebServiceSample里有两个重载的方法sayUserName,不能成功发布服务,应该如何处理,请指教!

解决方案 »

  1.   

    看看CXF文档,是否支持接口中有重载的.原来的axis2就不支持. 
    换个名字不行么?
      

  2.   

    感谢楼上的发言,问题已解决。
    Cxf不支持重载接口,可以通过改名字来发布服务。
    发布服务时发现了一个很重要的问题,就是如果发布的接口方法中的参数或返回值类型为接口类型的,不能正常发布服务,会报JAXB绑定的错误,提醒一下,呵呵
      

  3.   

    使用 @WebMethod(operationName="multiParamByName")  重新指定名字。