JWS-webservice写法

来源:互联网 发布:彩票开奖平台源码 编辑:程序博客网 时间:2024/05/29 15:29

webservice 种类很多,最近刚用了个JWS,总结一下。

首先一个写一个的webservice 的入口:

 

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.WebServiceContext;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.DocumentHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.isca.framework.utils.Util;
import com.isca.smp.intf.sd.sd4a.util.UserInfo;
import com.isca.smp.intf.sd.sd4a.util.UserModify;

 

@Component
@WebService(serviceName = "UpdateAppAcctSoap")            //名称
public class Sd4aUserService {
 
 @Resource(name = "org.apache.cxf.jaxws.context.WebServiceContextImpl")
 private WebServiceContext context;

private Sd4AUserHelper sd4auserhelper;

/**
  * @param  参数usermodifyreq
  * @return String类型的XML
  *  

  **/
 @WebResult(name="usermodifyrsp")//返回的参数名字
 public String UpdateAppAcctSoap(@WebParam(name = "RequestInfo") String usermodifyreq) throws Exception {      //传参

 

 

Document document = DocumentHelper.parseText(usermodifyreq);
  
   Element root = document.getRootElement();
   List<Element> elements = root.elements("BODY");
   // 遍历XML中取得的elements
   for (Element item : elements) {
    System.out.println(item.asXML());
    Element operatorId = item.element("OPERATORID");
    Element operatorpwd = item.element("OPERATORPWD");

         }

            return sd4auserhelper.execute(userModify);       //具体实现业务逻辑的方法


   }

 

 

@Component
public class Sd4AUserHelper {
 private static Logger logger = LoggerFactory.getLogger(Sd4AUserHelper.class);
 private Sd4aUserImpl sd4auser;
 private UserManager userManager;
 
 public String execute(UserModify userModify) {
  try {
   UserInfo u = userModify.getUserinfo();
//   if (userManager.validate(userModify.getOperatorid(), userModify
//     .getOperatorpwd())) { // 验证用户名密码是否正确
    if (userModify.getModifymode().equals("add")) {
     return this.addUser(u);
    }
    if (userModify.getModifymode().equals("delete")) {
     return this.delUser(u);
    }
    if (userModify.getModifymode().equals("change")) {
     return this.editUser(u);
    }
    if (userModify.getModifymode().equals("chgstatus")) {
     return this.operationUser(u);
    }
    if (userModify.getModifymode().equals("resetpwd")) {
     return this.operationUserPwd(u);
    }
//   } else {
//    return sd4auser.validateRes(userModify.getOperatorid(), "验证失败!");
//   }
   
  } catch (Exception e) {
   logger.debug("第二种异常:=============================SECOND", e);
  }
  logger.debug("SECOND+null");
  return null;
 }
 /**
  * @param  账号实体对象
  * @return  XML字符串
  *  method  修改帐号       
  **/
 public String editUser(UserInfo user) {
  return sd4auser.editUser(user); 
 }

 @Autowired
 public void setSx4auser(Sd4aUserImpl sd4auser) {
  this.sd4auser = sd4auser;
 }

 @Autowired
 public void setUserManager(UserManager userManager) {
  this.userManager = userManager;
 }
}

 

 

 

 

@Component
public class Sd4aUserImpl implements Sd4aUser {
 private static Logger logger = LoggerFactory.getLogger(Sd4aUserImpl.class);
 private UserManager usermanager;
 private LogManager logmanager;
 
 /**
  * @param  账号实体对象
  * @return XML字符串
  *  method  新增帐号       
  **/
 public String addUser(UserInfo user) { 
  String ret="true";
  try{
   saveUser(user,"add");

  }
  catch(Exception e)
  {
   e.printStackTrace();
   ret=e.getMessage();
   logger.debug("第三种异常:==================================ADD==THIRD", e);
  }
  if(ret.equals("true")){ 
   return this.exeRes("0", "", user.getLoginno(), user.getLoginno(), "add");
  }else{
   return this.exeRes("1", ret, user.getLoginno(), user.getLoginno(), "add");
  }
 }
 
 
 @Autowired
 public void setUsermanager(UserManager usermanager) {
  this.usermanager = usermanager;
 }
 @Autowired
 public void setLogmanager(LogManager logmanager) {
  this.logmanager = logmanager;
 }
}

 

package com.isca.smp.intf.sd.sd4a.user;


import com.isca.smp.intf.sd.sd4a.util.UserInfo;

/**
 *
 * @author chenchuandong
 */
public interface Sd4aUser {
 
 
 /**
  * @param  账号实体对象
  * @return  XML字符串
  *  method  新增帐号       
  **/
 public String addUser(UserInfo user);
 
}

 


 <bean class="com.isca.smp.intf.sd.sd4a.user.Sd4aUserService" id="Sd4aUserService"/>
 <jaxws:endpoint address="/UpdateAppAcctSoap" implementor="#Sd4aUserService"/>  // 配置文件