webServices 执行流程,(我是菜鸟,我怕谁,仅代表个人理解,欢迎各位大神们指导,不和您的胃口,请默默离开!!)

二、上图仅仅代表个人理解,下面以代码方式解释一下。

(1) strtus.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
        "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <!-- 功能:维护工具 lotus  开发者:wg  15-09 -->
    <package name="/msp/invQryOrg" extends="default" namespace="/msp/invQryOrg">
         <action name="init" class="lotusOrgAction" method="init">
            <result name="init">/msp/pages/org/msLotusQryList.jsp</result>
        </action>
        <action name="query" class="lotusOrgAction" method="query">
            <result name="list">/msp/pages/org/msLotusQryList.jsp</result>
        </action>
        <action name="detail" class="lotusOrgAction" method="detail">
            <result name="success">/msp/pages/org/slLotusOrgDetail.jsp</result>
        </action>
        <action name="edit" class="lotusOrgAction" method="edit">
            <result name="success">/msp/pages/org/slLotusOrgEditList.jsp</result>
        </action>
        <action name="update" class="lotusOrgAction" method="update">
            <result name="success">/msp/pages/org/slLotusOrgEditList.jsp</result>
        </action>
        <action name="delete" class="lotusOrgAction" method="delete">
            <result name="success">query.hlt</result>
        </action>
         <action name="qryhistory" class="lotusOrgAction" method="qryhistory">
            <result name="list">/msp/pages/org/lotusOrgHistoryDetail.jsp</result>
        </action>
        <action name="initsave" class="lotusOrgAction" method="initsave">
            <result name="init">/msp/pages/org/slLotusInputList.jsp</result>
        </action>
        <action name="save" class="lotusOrgAction" method="save">
            <result name="success">/msp/pages/org/slLotusInputList.jsp</result>
        </action>
     </package>
</struts>

(2)spring.xml

<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
       default-lazy-init="true">
    <description>运维工具配置</description>
    <!-- 功能 LotusManager 开发者:wg  时间:2015-8-26 -->
    <bean id="lotusOrgManager" class="com.holytax.eipp.msp.qorg.service.LotusOrgManager" parent="manager">
    </bean>    
    <!-- 功能 报表Manager 开发者:wg  时间:2015-8-26 -->
    <bean id="lotusOrgManagerImpl" class="com.holytax.eipp.msp.qorg.service.LotusOrgManagerImpl" parent="manager">
    </bean>    
     <!-- 功能:LotusAction 开发者:wg  时间:2015-8-26-->
    <bean id="lotusOrgAction" class="com.holytax.eipp.msp.qorg.action.LotusOrgAction" scope="prototype">
        <!-- <property name="invoiceForManager" ref="invoiceForManager"/> -->
        <property name="wsCfg" ref="propWsCfg"/>
    </bean>
</beans>

(3)springServer.xml

<?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.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-servlet.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding" /> 

    <bean id="jaxws-and-aegis-service-factory" class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">   
        <property name="dataBinding" ref="aegisBean" />
    </bean>
    <!--目的:对于lotus的webservice服务器端配置     wg  时间:2012-09-11    -->
    <jaxws:server id="lotusOrgManager" serviceClass="com.holytax.eipp.msp.qorg.service.LotusOrgManager" address="/LotusOrgManager"><!--接口地址-->
        <jaxws:serviceBean>
            <ref bean="lotusOrgManagerImpl"/><!--接口方法的实现-->
        </jaxws:serviceBean>
        <jaxws:inInterceptors>
            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
            <bean class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />

            <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
                <constructor-arg>
                    <map> 
                        <entry key="action" value="UsernameToken" />
                        <entry key="passwordType" value="PasswordText" />
                        <entry key="user" value="cxfServer" />
                        <entry key="passwordCallbackRef">
                            <ref bean="serverPasswordCallback" />
                        </entry>
                   </map>
               </constructor-arg>
           </bean>
           
        </jaxws:inInterceptors> 
        <jaxws:outInterceptors> 
            <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> 
        </jaxws:outInterceptors> 
        <jaxws:inFaultInterceptors> 
            <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/> 
        </jaxws:inFaultInterceptors> 
        <jaxws:outFaultInterceptors> 
            <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
        </jaxws:outFaultInterceptors>
    </jaxws:server>    
</beans>

(4)Action.java

package com.holytax.eipp.msp.qorg.action;

  
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.handler.WSHandlerConstants;

import com.holytax.base.action.BaseAction;
import com.holytax.base.service.Page;
import com.holytax.base.util.Constants;
import com.holytax.base.util.StringUtil;
import com.holytax.eipp.msp.qorg.entity.TAcOrgdataBackup;
import com.holytax.eipp.msp.qorg.entity.TLotusAcOrg;
import com.holytax.eipp.msp.qorg.model.LotusOrgModel;
import com.holytax.eipp.msp.qorg.service.LotusOrgManager;
import com.holytax.eipp.webservice.cfg.IWsCfg;
import com.holytax.eipp.webservice.model.WsModel;
import com.holytax.eipp.webservice.security.ClientPasswordCallback;

public class LotusOrgAction extends BaseAction<TLotusAcOrg>{
    
    
    /**
     * 
     */
    private static final long serialVersionUID = -3501266082603574394L;
    private LotusOrgModel orgModel = new LotusOrgModel();
    private TLotusAcOrg entity=new TLotusAcOrg();
    private LotusOrgManager lotusOrgManager;
    //private Page<InvcoiceInforModel> page = new Page<InvcoiceInforModel>(Constants.PAGESIZE);
    private IWsCfg wsCfg;
    private Page<Map<String, Object>> page = new Page<Map<String, Object>>(
            Constants.PAGESIZE);
    private String[] _chk;//记录选中数组
    private TAcOrgdataBackup lotusentity =new TAcOrgdataBackup();//莲花备份实体
    private String loginUser;private Long parentid;
    private Long orgid;
    @Override
    protected void prepareModel() throws Exception {
        WsModel wsModel = wsCfg.getWsModel("holylotus");
        LotusOrgManager lotusOrgManager = getholyVatManager(wsModel.getUrl());
        if(entity.getOrgid()!=null){
            entity=lotusOrgManager.findInvById(entity.getOrgid());
        }
        
    }
    /**
     * 初始化方法
     * @return
     */
    public String init(){
        return INIT;
    }
    /**
     * 初始化方法
     * @return
     */
    public String initsave(){
        orgModel.setCode("holylotus");
        //String company = invModel.getCompany();
        String code = orgModel.getCode();
        if (StringUtil.isEmpty(code)) {
            addActionMessage("请选择公司");
        }
        if (wsCfg == null) {
            addActionMessage("未加载配置");
        }
        logger.info("使用ws配置:" + wsCfg.getClass().getName());
        WsModel model = wsCfg.getWsModel(code);
        if (model == null) {
            addActionMessage("未找到" + code + "对应的配置信息");
        }
        LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
        entity.setParentid(entity.getParentid());
        return INIT;
    }
    /**
     * 新增机构
     * @return
     */
    public String save(){
        orgModel.setCode("holylotus");
        //String company = invModel.getCompany();
        String code = orgModel.getCode();
        if (StringUtil.isEmpty(code)) {
            addActionMessage("请选择公司");
        }
        if (wsCfg == null) {
            addActionMessage("未加载配置");
        }
        logger.info("使用ws配置:" + wsCfg.getClass().getName());
        WsModel model = wsCfg.getWsModel(code);
        if (model == null) {
            addActionMessage("未找到" + code + "对应的配置信息");
        }
        LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
                try {
                    loginUser=(String) getSession().getAttribute(Constants.LOGIN_NAME);
                    entity.setCreateBy(loginUser);
                    entity.setCreateTime(new Date());
                    lotusOrgManager.save(entity);
                    addActionMessage("机构信息保存成功!!");
                    entity.setOrgname(null);
                    entity.setOrgcode(null);
                    entity.setTaxname(null);
                    entity.setTaxno(null);
                    entity.setLinkman(null);
                    entity.setPhone(null);
                    entity.setAddress(null);
                    entity.setEmail(null);
                    entity.setPostcode(null);
                    entity.setBank(null);
                    entity.setAccount(null);
                    entity.setTreelevel(null);
                    entity.setTreelayer(null);
                    entity.setRemark(null);
                } catch (Exception e) {
                    addActionMessage("机构信息保存失败!!");
                    entity.setOrgname(null);
                    entity.setOrgcode(null);
                    entity.setTaxname(null);
                    entity.setTaxno(null);
                    entity.setLinkman(null);
                    entity.setPhone(null);
                    entity.setAddress(null);
                    entity.setEmail(null);
                    entity.setPostcode(null);
                    entity.setBank(null);
                    entity.setAccount(null);
                    entity.setTreelevel(null);
                    entity.setTreelayer(null);
                    entity.setRemark(null);
                    e.printStackTrace();
                }
        return SUCCESS;
    }
    /**
     *lotus org数据查询
     * @return
     * @throws Exception
     */
    @SuppressWarnings("rawtypes")
    public String query ()throws Exception{
            orgModel.setCode("holylotus");
            String code = orgModel.getCode();
            if (StringUtil.isEmpty(code)) {
                addActionMessage("请选择公司");
            }
            if (wsCfg == null) {
                addActionMessage("未加载配置");
            }
            logger.info("使用ws配置:" + wsCfg.getClass().getName());
            WsModel model = wsCfg.getWsModel(code);
            if (model == null) {
                addActionMessage("未找到" + code + "对应的配置信息");
            }
            LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
            page = (Page<Map<String, Object>>) lotusOrgManager.findVatPageList(page,
                    "REPORTSQL.findOrgMessage", entity,orgModel, null);
            return LIST;
    }
    /**
     *lotus org数据查询
     * @return
     * @throws Exception
     */
    @SuppressWarnings("rawtypes")
    public String qryhistory ()throws Exception{
            orgModel.setCode("holylotus");
            String code = orgModel.getCode();
            if (StringUtil.isEmpty(code)) {
                addActionMessage("请选择公司");
            }
            if (wsCfg == null) {
                addActionMessage("未加载配置");
            }
            logger.info("使用ws配置:" + wsCfg.getClass().getName());
            WsModel model = wsCfg.getWsModel(code);
            if (model == null) {
                addActionMessage("未找到" + code + "对应的配置信息");
            }
            LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
            page = (Page<Map<String, Object>>) lotusOrgManager.findVatPageList(page,
                    "REPORTSQL.findOldOrgMessage", entity,null, null);
        return LIST;
    }
    /**
     * 机构明细方法
     * @return
     * @throws Exception
     */
    public String detail ()throws Exception{
            orgModel.setCode("holylotus");
            String code = orgModel.getCode();
            if (StringUtil.isEmpty(code)) {
                addActionMessage("请选择公司");
            }
            if (wsCfg == null) {
                addActionMessage("未加载配置");
            }
            logger.info("使用ws配置:" + wsCfg.getClass().getName());
            WsModel model = wsCfg.getWsModel(code);
            if (model == null) {
                addActionMessage("未找到" + code + "对应的配置信息");
            }
            LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
            page = (Page<Map<String, Object>>) lotusOrgManager.findVatPageList(page,
                    "REPORTSQL.findOneOrgMessage", entity,null, null);
            return SUCCESS;
        
    }
    /**
     * 机构信息修改
     * @return
     * @throws Exception
     */
    public String edit ()throws Exception{
        orgModel.setCode("holylotus");
        //String company = invModel.getCompany();
        String code = orgModel.getCode();
        if (StringUtil.isEmpty(code)) {
            addActionMessage("请选择公司");
        }
        if (wsCfg == null) {
            addActionMessage("未加载配置");
        }
        logger.info("使用ws配置:" + wsCfg.getClass().getName());
        WsModel model = wsCfg.getWsModel(code);
        if (model == null) {
            addActionMessage("未找到" + code + "对应的配置信息");
        }
        LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
        try {
                entity=lotusOrgManager.findInvById(entity.getOrgid());
                lotusentity.setOrgid(entity.getOrgid());
                lotusentity.setOrgcode(entity.getOrgcode());
                lotusentity.setOrgname(entity.getOrgname());
                lotusentity.setTaxno(entity.getTaxno());
                lotusentity.setTaxname(entity.getTaxname());
                lotusentity.setParentid(entity.getParentid());
                lotusentity.setOrgtype(entity.getOrgtype());
                lotusentity.setLinkman(entity.getLinkman());
                lotusentity.setPhone(entity.getPhone());
                lotusentity.setAddress(entity.getAddress());
                lotusentity.setEmail(entity.getEmail());
                lotusentity.setPostcode(entity.getPostcode());
                lotusentity.setBank(entity.getBank());
                lotusentity.setAccount(entity.getAccount());
                lotusentity.setExtracttype(entity.getExtracttype());
                lotusentity.setExtractsoftzone(entity.getExtractsoftzone());
                lotusentity.setScansoftzone(entity.getScansoftzone());
                lotusentity.setIsbottom(entity.getIsbottom());
                lotusentity.setOrglevel(entity.getTreelevel());
                lotusentity.setOrglayer(entity.getTreelayer());
                lotusentity.setCompany(entity.getCompany());
                lotusentity.setRemark(entity.getRemark());
                //lotusentity.setAutocommit(entity.GET);
                lotusentity.setCreateTime(entity.getCreateTime());
                lotusentity.setCreateBy(entity.getCreateBy());
                lotusentity.setLastModifyTime(entity.getLastModifyTime());
                lotusentity.setLastModifyBy(entity.getLastModifyBy());
                lotusentity.setExtf4(entity.getExtf4());
                lotusentity.setExtf5(entity.getExtf5());
                lotusentity.setOperationtype("0");
                lotusOrgManager.savelotus(lotusentity);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    
        return SUCCESS;
    }
    public String update ()throws Exception{
        orgModel.setCode("holylotus");
        //String company = invModel.getCompany();
        String code = orgModel.getCode();
        if (StringUtil.isEmpty(code)) {
            addActionMessage("请选择公司");
        }
        if (wsCfg == null) {
            addActionMessage("未加载配置");
        }
        logger.info("使用ws配置:" + wsCfg.getClass().getName());
        WsModel model = wsCfg.getWsModel(code);
        if (model == null) {
            addActionMessage("未找到" + code + "对应的配置信息");
        }
        LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
        try {
            //entity=lotusOrgManager.findInvById(entity.getOrgid());//通过主键找到
            entity.setLastModifyTime(new Date());//更改修改人,为当前登录用户,修改时间当前系统时间
            loginUser=(String) getSession().getAttribute(Constants.LOGIN_NAME);
            entity.setLastModifyBy(loginUser);
            lotusOrgManager.updateGds(entity);
            TLotusAcOrg entity=null;
            setIsSuc("true");
        } catch (Exception e) {
            setIsSuc("false");
            e.printStackTrace();
        }
        return SUCCESS;
        
    }
     /**
     * @描述:删除勾选的机构
     * @作者:wg
     * @日期:2013-06-30
     * @return 
     * @throws Exception
     */
    public String delete()  throws Exception{
        orgModel.setCode("holylotus");
        //String company = invModel.getCompany();
        String code = orgModel.getCode();
        if (StringUtil.isEmpty(code)) {
            addActionMessage("请选择公司");
        }
        if (wsCfg == null) {
            addActionMessage("未加载配置");
        }
        logger.info("使用ws配置:" + wsCfg.getClass().getName());
        WsModel model = wsCfg.getWsModel(code);
        if (model == null) {
            addActionMessage("未找到" + code + "对应的配置信息");
        }
        LotusOrgManager lotusOrgManager = getholyVatManager(model.getUrl());
        try {
            //entity=lotusOrgManager.findInvById(entity.getOrgid());//通过主键找到
            //loginUser=(String) getSession().getAttribute(Constants.LOGIN_NAME);
            for(int i = 0;i< _chk.length;i++){
                if(StringUtils.isNotBlank(_chk[i])){
                    entity = lotusOrgManager.findInvById(Long.parseLong(_chk[i]));
                    lotusentity.setOrgid(entity.getOrgid());
                    lotusentity.setOrgcode(entity.getOrgcode());
                    lotusentity.setOrgname(entity.getOrgname());
                    lotusentity.setTaxno(entity.getTaxno());
                    lotusentity.setTaxname(entity.getTaxname());
                    lotusentity.setParentid(entity.getParentid());
                    lotusentity.setOrgtype(entity.getOrgtype());
                    lotusentity.setLinkman(entity.getLinkman());
                    lotusentity.setPhone(entity.getPhone());
                    lotusentity.setAddress(entity.getAddress());
                    lotusentity.setEmail(entity.getEmail());
                    lotusentity.setPostcode(entity.getPostcode());
                    lotusentity.setBank(entity.getBank());
                    lotusentity.setAccount(entity.getAccount());
                    lotusentity.setExtracttype(entity.getExtracttype());
                    lotusentity.setExtractsoftzone(entity.getExtractsoftzone());
                    lotusentity.setScansoftzone(entity.getScansoftzone());
                    lotusentity.setIsbottom(entity.getIsbottom());
                    lotusentity.setOrglevel(entity.getTreelevel());
                    lotusentity.setOrglayer(entity.getTreelayer());
                    lotusentity.setCompany(entity.getCompany());
                    lotusentity.setRemark(entity.getRemark());
                    //lotusentity.setAutocommit(entity.GET);
                    lotusentity.setCreateTime(entity.getCreateTime());
                    lotusentity.setCreateBy(entity.getCreateBy());
                    lotusentity.setLastModifyTime(entity.getLastModifyTime());
                    lotusentity.setLastModifyBy(entity.getLastModifyBy());
                    lotusentity.setExtf4(entity.getExtf4());
                    lotusentity.setExtf5(entity.getExtf5());
                    lotusentity.setOperationtype("1");
                    lotusOrgManager.savelotus(lotusentity);
                    
                }
            }
            List<TLotusAcOrg> agreelist =lotusOrgManager.delete(_chk, (String)getSession().getAttribute(Constants.LOGIN_NAME));    
            if(agreelist.size()>0){
                StringBuilder sb = new StringBuilder();
                addActionMessage(sb.toString());
            }else{
                addActionMessage("成功删除!");     
            }
        } catch (Exception e) {
            addActionMessage("删除失败!");
            e.printStackTrace();
        }
        
        return SUCCESS;
    }
    /**
     * @描述: 动态的生成一期库的管理类
     * @作者:byq
     * @日期:2012-9-14
     * @return:ILotusVatManager
     */
    private LotusOrgManager getholyVatManager(String address) {
        if (logger.isDebugEnabled()) {
            logger.debug("create LotusOrgManager client webservice...");
        }
        JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();
        Map<String, Object> outProps = new HashMap<String, Object>();
        outProps.put(WSHandlerConstants.ACTION,
                WSHandlerConstants.USERNAME_TOKEN);
        outProps.put(WSHandlerConstants.USER, "cxfClient");
        outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
        outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS,
                ClientPasswordCallback.class.getName());
        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
        bean.getOutInterceptors().add(wssOut);
        bean.getOutInterceptors().add(new SAAJOutInterceptor());

        bean.setServiceClass(LotusOrgManager.class);
        bean.setAddress(address + "/services/LotusOrgManager");
        LotusOrgManager service = (LotusOrgManager) bean.create();
        return service;
    }
    public IWsCfg getWsCfg() {
        return wsCfg;
    }
    public LotusOrgModel getOrgModel() {
        return orgModel;
    }
    public void setOrgModel(LotusOrgModel orgModel) {
        this.orgModel = orgModel;
    }
    public LotusOrgManager getLotusOrgManager() {
        return lotusOrgManager;
    }
    public void setLotusOrgManager(LotusOrgManager lotusOrgManager) {
        this.lotusOrgManager = lotusOrgManager;
    }
    public void setWsCfg(IWsCfg wsCfg) {
        this.wsCfg = wsCfg;
    }
    public Page<Map<String, Object>> getPage() {
        return page;
    }
    public void setPage(Page<Map<String, Object>> page) {
        this.page = page;
    }
    public TLotusAcOrg getEntity() {
        return entity;
    }
    public void setEntity(TLotusAcOrg entity) {
        this.entity = entity;
    }
    @Override
    public TLotusAcOrg getModel() {
        // TODO Auto-generated method stub
        return entity;
    }
    public String[] get_chk() {
        return _chk;
    }
    public void set_chk(String[] _chk) {
        this._chk = _chk;
    }
    public TAcOrgdataBackup getLotusentity() {
        return lotusentity;
    }
    public void setLotusentity(TAcOrgdataBackup lotusentity) {
        this.lotusentity = lotusentity;
    }
    public String getLoginUser() {
        return loginUser;
    }
    public void setLoginUser(String loginUser) {
        this.loginUser = loginUser;
    }
  public Long getParentid() {
        return parentid;
    }
    public void setParentid(Long parentid) {
        this.parentid = parentid;
    }
    public Long getOrgid() {
        return orgid;
    }
    public void setOrgid(Long orgid) {
        this.orgid = orgid;
    }
}

(5)WsModel.jsva

package com.holytax.eipp.webservice.model;

public class WsModel {

    private String code;
    private String desc;
    private String url;
    private String tableName;
    
    public WsModel(){
        
    }
    
    public WsModel(String code, String desc, 
            String url){
        this.code = code;
        this.desc = desc;
        this.url = url;
    }
    
    public WsModel(String code, String desc, 
            String url, String tableName){
        this.code = code;
        this.desc = desc;
        this.url = url;
        this.tableName = tableName;
    }
    
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getTableName() {
        return tableName;
    }
    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    @Override
    public String toString() {
        return "SystemModel [code=" + code + ", desc=" + desc + ", url=" + url
                + ", tableName=" + tableName + "]";
    }
    
}

(6)service-->manager.java

package com.holytax.eipp.msp.qorg.service;

  
import java.util.List;
import java.util.Map;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import com.holytax.base.service.IPage;
import com.holytax.eipp.msp.qorg.entity.TAcOrgdataBackup;
import com.holytax.eipp.msp.qorg.entity.TAcVangorgBackup;
import com.holytax.eipp.msp.qorg.entity.TLotusAcOrg;
import com.holytax.eipp.msp.qorg.entity.TVanguanOrg;
import com.holytax.eipp.msp.qorg.model.LotusOrgModel;
import com.holytax.eipp.webservice.adapter.MapAdapter;
import com.holytax.eipp.webservice.adapter.PageMapAdapter;
@WebService
public interface LotusOrgManager{
    /**
     *莲花部分,分页查询
     * @param mapPage
     * @param sql
     * @param entity
     * @param orgModel
     * @param mapParam
     * @return
     */
    @SuppressWarnings("unchecked")
    @WebMethod
    @XmlJavaTypeAdapter(PageMapAdapter.class)
    public IPage<Map<String, Object>> findVatPageList(
            @WebParam(name = "mapPage")
            @XmlJavaTypeAdapter(PageMapAdapter.class) 
            final IPage<Map<String, Object>> mapPage,
            @WebParam
            final String sql,
            @WebParam(name = "entity")
            final TLotusAcOrg entity,
            @WebParam(name = "invModel")
            final LotusOrgModel orgModel,
            @WebParam(name = "mapParam")
            @XmlJavaTypeAdapter(MapAdapter.class) final Map mapParam);
    
    
    @WebMethod
    public TLotusAcOrg findInvById(@WebParam(name = "id")final Long id);
    
    @WebMethod
    public TAcOrgdataBackup findOrgById(@WebParam(name = "id")final Long id);
    
    /**
     * 修改对象
     * @param entity
     * add by ZM 2010-11-23
     * @return 
     */
    @WebMethod
    public void updateGds(TLotusAcOrg entity);
    /**
     * 新增或是更新保存对象
     * @param entity
     * add by sjy 2010-11-15
     */
    @WebMethod
    public void save(TLotusAcOrg entity);
    
    
    @WebMethod
    public void savelotus(TAcOrgdataBackup lotusentity);
    
    /**
     * @描述: 删除选中商品
     * @作者: wg 
     * @日期:2015-5-19
     * @param ids 选中的id数组
     */
    @WebMethod
    public List<TLotusAcOrg> delete(String[] ids, String attribute);
}

(6)service-->managerImpl.java

public  class LotusOrgManagerImpl extends BaseManager implements LotusOrgManager{
    /**
    * @描述: 一期库发票修改查询
    * @作者:wg
    * @日期:2012-9-11
    * @return:void
    */
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public IPage<Map<String, Object>> findVatPageList(
            final IPage<Map<String, Object>> mapPage,
            final String sql,
            final TLotusAcOrg entity,
            final LotusOrgModel orgModel,
            final Map mapParam){
        Map<String, Object> map = new HashMap<String, Object>();
        if(orgModel != null){
            map.putAll(ConvertUtils.pojoToMap(orgModel));
        }
        if(mapParam != null){
            map.putAll(mapParam);
        }
        if(entity != null){
            map.putAll(ConvertUtils.pojoToMap(entity));
        }
        Page<Map<String, Object>> queryResult = sqlDao.findPage((Page)mapPage, sql, map);
        return queryResult;
    }
    
    /**
     * 根据id查询对象
     * 
     */
    public TLotusAcOrg findInvById(Long id) {
        return (TLotusAcOrg) dao.findById(TLotusAcOrg.class, id);
    }
    /**
     * 根据id查询对象
     * 
     */
    public TAcOrgdataBackup findOrgById(Long id) {
        return (TAcOrgdataBackup) dao.findById(TAcOrgdataBackup.class, id);
    }
    /**
     * 修改对象
     * @param entity
     * add by wg 2010-11-23
     * @return 
     */
    public void updateGds(TLotusAcOrg entity){
         dao.saveOrUpdate(entity);
    }
    /**
     * 新增或是更新保存对象
     * @param entity
     * add by wg 2010-11-15
     */
    public void save(TLotusAcOrg entity){
         dao.save(entity);
    }
    
    public void savelotus(TAcOrgdataBackup lotusentity){
         dao.save(lotusentity);
    }
     /**
      * 删除选中数据
      */
    @Override
    public List<TLotusAcOrg> delete(String[] ids, String attribute) {
        List list = new ArrayList();
        TLotusAcOrg ent = null;
        for(int i = 0;i< ids.length;i++){
            if(StringUtils.isNotBlank(ids[i])){
                ent = this.findInvById(Long.parseLong(ids[i]));
            }
        //删除主表
        dao.delete(ent);                          
        }
        return list;
    }
}

(7)最后在总的配置文件配置sql.xml,spring.xml,strtus即可。。。。

(8)所谓的服务端,就是把客户端复制一份,,修改项目名。。。更改数据连接地址即可。。。还有一种情况,就是客户端,即是服务端,又是客户端,,但是流程是一样的。。。

原文地址:https://www.cnblogs.com/aGboke/p/4864165.html