由于版本冲突导致折腾2天才搞定,记录下作为参考。
1、pom.xml中增加cxf3.1.7
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>apache-cxf</artifactId>
<version>3.1.7</version>
<type>pom</type>
</dependency>
2、spring配置中增加(import不需要了)
<!-- CXF的服务 -->
<jaxws:endpoint id="hello" implementor="com.webservice.HelloWordImpl"
address="/hello">
</jaxws:endpoint>
3、web.xml增加
<!-- CXF的配置 -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
4、接口:com.webservice.HelloWord
@WebService
public interface HelloWord {
@WebMethod
String SayHello(@WebParam(name="str")String str);
}
5、实现:com.webservice.HelloWordImpl
@WebService(endpointInterface="com.webservice.HelloWord",serviceName="HelloWord")
public class HelloWordImpl implements HelloWord {
@Override
public String SayHello(String str) {
// TODO Auto-generated method stub
return str;
}
}
说下版本冲突导致的奇怪问题:启动时出现bean无法初始化
检查maven下引入的jar包时发现,cxf开头的竟然有其它版本的。再检查发现引用其它jar包时依赖了cxf之前的版本导致的问题。