一、如何将spring 的bean 变成 webservice
1.编写类, 声明一些关键字@WebService 和 @WebMethod
package com.ulic.ults.systemmanage.webservice; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import com.ulic.ults.core.util.security.PasswordDigest; import com.ulic.ults.model.SysEmployee; import com.ulic.ults.systemmanage.service.SystemManageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.context.support.SpringBeanAutowiringSupport; @WebService(serviceName="UserManageWebService") public class UserManageEndpoint extends SpringBeanAutowiringSupport{ public UserManageEndpoint() { } @Autowired private SystemManageService systemManageService; @WebMethod public SysEmployee login(SysEmployee user) { SysEmployee usr = systemManageService.getSysEmployeeByUsername(user.getName()); if(usr!=null){ PasswordDigest pd = new PasswordDigest(); if(user.getPwd()!=null && (pd.digest(user.getPwd())).equals(usr.getPwd())){ return usr ; }else{ return null; } }else{ return null ; } } @WebMethod public String getTip(String str){ return str; } } |
2.在application-context.xml, 增加spring对 webservice的支持
org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter
<bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter"> <property name="baseAddress" value="http://localhost:9999/"/> </bean> |
3.将编写的类声明为spring管理的bean
<bean id="userManageEndpoint" class="com.ulic.ults.systemmanage.webservice.UserManageEndpoint"/> |
4.通过访问地址http://localhost:9999/UserManageWebService?wsdl, 确认webservice是否配置正确
<?xml version="1.0" encoding="UTF-8"?> <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1 |