首先在项目中引进cxf的依赖
<properties>
<cxf.version>2.6.14</cxf.version>
</properties>
<!-- cxf -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
</dependency>
加入spring-cxf 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!-- 注意下面的address,这里的address的名称就是访问的WebService的name <jaxws:server id="loginWebService" -->
<jaxws:endpoint id="loginWebService" address="/loginWebService"
implementor="#loginWebServiceImpl">
</jaxws:endpoint>
</beans>
webservice接口
package com.zoe.hip.platform.webservice.auth;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface ILoginWebService {
@WebMethod
public String getLoginToken(@WebParam(name = "userName") String username,@WebParam(name = "password")String password);
}
webservice实现类
package com.zoe.hip.platform.webservice.auth.impl;
import javax.annotation.Resource;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.springframework.stereotype.Component;
import com.zoe.hip.platform.service.IAuthService;
import com.zoe.hip.platform.webservice.auth.ILoginWebService;
/**
*
* http://{host_ip}/webservice/loginWebService?wsdl
*/
@Component("loginWebServiceImpl")
public class LoginWebServiceImpl implements ILoginWebService {
@Resource(name = "authService")
private IAuthService authService;
/**
* 。net webapp 传入账号 密码 返回token 1:表示账号密码错误
*/
@WebMethod(operationName = "getLoginToken")
public String getLoginToken(String username, String password) {
String token = "-1";
try {
token = authService.createToken(username, password);
} catch (Exception e) {
e.printStackTrace();
return token;
}
return token;
}
}
web.xml配置
<!--========================= CXF配置 start========================= -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
<!--========================= CXF配置 end========================= -->