<—start—> 
编写crm的webservice接口,实现客户信息保存操作。在CustomerService接口中新增一个服务接口,用于添加客户注册的信息。

 @Path("/customer")
@POST
@Consumes({ "application/xml", "application/json" })
public void regist(Customer customer);

在实现类中,只需要调用dao的save方法保存以下就可。

 @Override
public void regist(Customer customer) {
System.out.println(customer);
customerRepository.save(customer);
}

因为save方法jpa接口中默认就有,所以不需要自定义去创建方法。 
接下来就是在CustomerAction类中调用服务了。 
调用webservice连接crm保存客户信息:发送json类型的数据,调用post方法将customer传递过去,客户注册就要保存到后台数据库,所以用post方法去添加。

 @ParentPackage("json-default")
@Namespace("/")
@Controller
@Scope("prototype")
public class CustomerAction2 extends BaseAction<Customer> {
@Action(value="customer_sendSms")
public String sendSms() throws IOException{
//生成短信验证码
String randomCode = RandomStringUtils.randomNumeric(4);
//将短信验证码保存到session中
ServletActionContext.getRequest().getSession().setAttribute(model.getTelephone(),randomCode);
//编辑短信内容
String msg = "你好!本次获取的验证码位:"+randomCode;
//调用SMS服务发送短信
//String result = SmsUtils.sendSmsByHTTP(model.getTelephone(),msg);
String result = "000/XXX";
if(result.startsWith("000")){
//以"000"开头表示短信发送成功
return NONE;
}else{
//发送失败,就抛出一个运行期异常
throw new RuntimeException("短信发送失败,信息码:"+result);
}
} //属性驱动接收页面填写的验证码
private String checkCode;
public void setCheckCode(String checkCode) {
this.checkCode = checkCode;
}
@Action(value="customer_regist",results={@Result(name="success",type="redirect",location="signup_success.html"),
@Result(name="input",type="redirect",location="signup.html")})
public String regist(){
//先校验短信验证码,如果不通过就跳回登录页面
//从session中获取之前生成的短信验证码
String checkcodeSession = (String) ServletActionContext.getRequest().getAttribute(model.getTelephone());
if(checkcodeSession==null||!checkcodeSession.equals(checkCode)){
System.out.println("短信验证码错误!");
//短信验证码错误
return INPUT;
}
//调用webservice连接crm保存客户信息
WebClient.create("http://localhost:9002/crm_management/services/customerService/customer").type(MediaType.APPLICATION_XML)
.post(model);
System.out.println("客户注册成功...");
return SUCCESS;
}
}

<—end—>

WebService实例-CRM系统提供WebService实现用户注册功能的更多相关文章

  1. CRM系统全方位管理企业

    您在选择一款CRM系统的时候,首先要考虑销售团队的感受和意见.让CRM系统在帮助销售团队优化工作流程的同时,更好地对销售团队进行管理.销售人员每卖出一件商品,要从寻找筛选商机开始,经过沟通客户需求.满 ...

  2. 2021年主流CRM系统盘点

    面对市面上五花八门的CRM系统,相信您在选择的时候肯定是一头雾水.哪个CRM系统功能最强大?哪个CRM系统性价比最高?哪个CRM系统最适合企业使用?本篇文章小编将选出几家有代表性的CRM系统,并进行对 ...

  3. 通过CRM系统实现工作流程自动化

    灵活运用CRM系统所拥有的自动化功能模块,是公司在快速发展和降低成本的关键保障.不管您的公司规模的大小,您企业的工作流程都必须遵照相同的流程反复操作.这种反复的工作是一个效率黑洞,长久以往会导致人力资 ...

  4. 明明是企业管理软件,CRM系统为何被抵触?

    小编在昨天的文章<CRM系统为什么没有达到预期效果?>中曾说过,CRM客户管理系统没有达到预期效果的其中一个原因是CRM系统的使用率太低,而根本的原因是员工的抵触.明明是企业管理大师,CR ...

  5. SAP和Java系统的Webservice实例

    简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...

  6. XFire创建WebService实例应用

    [转自] http://clq9761.iteye.com/blog/1261963 XFire创建WebService实例应用 XFire使得在JavaEE应用中发布Web服务变得轻而易举.和其他W ...

  7. CXF整合Spring发布WebService实例

    一.说明: 上一篇简单介绍了CXF以及如何使用CXF来发布一个简单的WebService服务,并且介绍了客户端的调用. 这一篇介绍如何使用CXF与spring在Web项目中来发布WebService服 ...

  8. [转]Axis2创建WebService实例

    以下文章来自http://clq9761.iteye.com/blog/976029,作者clq9761 一.Axis2的下载和安装 1.可从http://ws.apache.org/axis2/ 下 ...

  9. 基于axis1.4的webservice实例

    1.准备工作: 概念:SOAP(简单对象访问协议).WSDL(web服务描述语言).XML(可扩展标记语言).axis(阿帕奇可扩展交互系统) (1)     下载axis1.4,将axis1.4中的 ...

随机推荐

  1. 如何合并列表中key相同的字典?

    现有list: list1 = [{a: 123}, {a: 456},{b: 789}] 合并成: list2 = [{a: [123,456]},{b: [789]}] from collecti ...

  2. 使用VMWare虚拟mac系统,设置网络的正确姿势

    1. 启动mac虚拟机: 2. 虚拟机-虚拟机设置-网络适配器-选择NAT模式: 3. 打开mac的网络设置,选择使用DHCP模式,并设置DNS服务器为win的DNS: 4. 回到win,控制面板-网 ...

  3. [TJOI2017]DNA

    嘟嘟嘟 这题怎么想都想不出来,最后还是敲了暴力,喜提40分-- 正解竟然也是暴力-- 用\(s_0\)构造SAM,然后把\(s\)扔上去暴力dfs:记录一个修改次数tot,如果当前不匹配,就tot + ...

  4. MYSQL学习笔记——sql语句优化工具

    优化sql:思路: 使用explan->先查询type类型看看是all还是ref,然后判断 possible_keys (显示可能应用在这张表中的索引, 一个或多个.查询涉及到的字段是若存在索引 ...

  5. mysql 查看当前使用的配置文件my.cnf的方法

    my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载. 安装mysql后,系统中会有多个my.cnf文件,有些是用于测试的. 使用locate m ...

  6. Python排序算法——插入排序

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10787464.html 一.插入排序(Inse ...

  7. C# — 动态获取本地IP地址及可用端口

    1.在VS中动态获取本地IP地址,代码如下: 2.获取本机的可用端口以及已使用的端口:

  8. Python学习总结 10 自动化测试Selenium2

    一, 配置 Selenium2 1 Selenium是什么? Selenium是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括I ...

  9. Linux下如何让jar包程序在后台一直执行

    Linux下如何让Jar包程序在后台一直执行 shell命令 nohup java -jar xxx.jar & &:让程序后台执行. nohub:让程序控制台输出转移到nohub.o ...

  10. .netcore 堆栈调用方法小记

    背景 上午临近午饭时,公司同事反馈验证码被攻击灌水.我们匆忙查询验证码明细,对已频繁出现的IP插入黑名单,但IP仍然隔断时间频繁变动,不得已之下只能先封禁对应公司id的验证码发送功能.年初时候,专门对 ...