• 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)所谓的服务端,就是把客户端复制一份,,修改项目名。。。更改数据连接地址即可。。。还有一种情况,就是客户端,即是服务端,又是客户端,,但是流程是一样的。。。

  • 相关阅读:
    做正确的事,正确的做事
    博客园翻车启示录
    从一次线下读书会获得的收获
    坚持一个好习惯该有多难?
    有道云笔记
    Leetcode 10. 正则表达式匹配
    C++版
    VS 2013 professional版在win10上安装出错的解决方法
    华为校招2016.09机试 第1题: 字符串按指定长度重新分割
    C#版
  • 原文地址:https://www.cnblogs.com/aGboke/p/4864165.html
Copyright © 2020-2023  润新知