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"/> // 配置文件
本文详细介绍了如何使用JWS(Java Web Services)构建企业级Webservice的实现过程,包括Webservice的入口创建、参数解析以及业务逻辑处理等关键步骤。通过实例展示了从导入相关依赖到具体实现业务逻辑的全过程,旨在为开发者提供实用的技术指南。
11万+

被折叠的 条评论
为什么被折叠?



