ssh整合webservice cxf采用注解的方式+andriod客户端
定义接口和实现类
/**
* 自定义service接口
*
* @time 9:01:54 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
@WebService
public interface PUserService {
@WebMethod
public String seyHello(@WebParam(name = "name")
String name);
@WebMethod
public String saveUser(@WebParam(name = "email")
String email, @WebParam(name = "nickName")
String nickName, @WebParam(name = "pwd")
String pwd);
@WebMethod
public String getUser(@WebParam(name = "email")
String email, @WebParam(name = "pwd")
String pwd);
}
/**
* 自定义接口实现
*
* @time 9:01:46 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
@WebService
public class PUserServiceImpl implements PUserService {
private BaseDao<User> userDao;
// 注入userdao
@Resource(name = "userDao")
public void setUserDao(BaseDao<User> userDao) {
this.userDao = userDao;
}
public String seyHello(String name) {
System.out.println("进入服务器端的sayHello方法");
return "你好" + name;
}
/**
* 注册用户
*/
public String saveUser(String email, String nickName, String pwd) {
System.out.println("进入服务器端的saveUser方法");
User user = new User();
user.setEmail(email);
user.setNickName(nickName);
user.setPassword(pwd);
user.setRegDate(new Date());
//
userDao.saveEntity(user);
return "success";
}
/**
* 查询用户
*/
public String getUser(String email, String pwd) {
System.out.println("进入服务器端的getUser方法" + email + "===pwd===" + pwd);
List<User> userList = userDao.findEntityByHQL("from User u where u.email =? and u.password = ?", email, pwd);
if (!ValidateUtil.isValidate(userList)) {
return "error";
}
System.out.println("user===============" + userList.get(0).getEmail());
return "success";
}
}
web.xml中的配置
<!-- cxf的设置 -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
spring配置文件
<!-- service服务 -->
<bean id="pService"
class="cn.yue.lsp.service.impl.PUserServiceImpl">
</bean>
<!-- 访问路径 -->
<jaxws:endpoint id="puserService" implementor="#pService"
address="/puserService" />
注:如果在是作声明式事务通知,在接口中的方法一定不要随意声明,会报hibernate session no bond的错误
android 客户端
需要添加第三方包
ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar
/**
* userService接口实现
*
* @time 上午9:57:01
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class UserServiceImpl implements UserService {
/**
* 注册用户
*/
@Override
public String saveEntity(User user) {
Mylog.i("tag", "add user success!");
// =========================================================
// 创建HttpTransportSE对象
HttpTransportSE htse = new HttpTransportSE(Constants.SERVICE_URL);
// 使用soap1.1协议,创建SoapSerializationEnvelope对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
// 创建soapObject对象,参数为命名空间和webService 方法
SoapObject request = new SoapObject(Constants.SERVICE_NAMESPACE, Constants.METHOD_ADDUSER);
// 添加参数
// request.addProperty("name", user.getEmail());
request.addProperty("email", user.getEmail());
request.addProperty("nickName", user.getNickName());
request.addProperty("pwd", user.getPassword());
// 设置soap消息体
// envelope.setOutputSoapObject(request);
envelope.bodyOut = request;
String str = null;
try {
// 调用对象的call方法,
htse.call(null, envelope);
if (envelope.getResponse() != null) {
Log.i("tag", "返回正常");
// 取得返回的soapObject对象
SoapObject result = (SoapObject) envelope.bodyIn;
str = result.getProperty(0).toString();
Log.i("tag", "返回值为:" + str);
return str;
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
Log.i("tag", "无返回值");
return str;
}
}
未设置超时时间,网络出问题需要作处理
转载于:https://www.cnblogs.com/retacn-yue/archive/2012/10/17/2761218.html
ssh整合webservice cxf采用注解的方式+andriod客户端相关推荐
- Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...
- 注解方式实现SSH整合
之前有写过基于xml配置文件的SSH整合,但是经过一段时间的项目实践,发现配置文件的方式太过繁琐了,所以就尝试了使用注解的方式,果然没了庞大的配置文件,看起来就是舒服 下面是我使用注解重构之前项目的一 ...
- JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试
Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring? Spring是分层的Java ...
- JavaEE框架整合之基于注解的SSH整合
基于注解的SSH整合 开发环节步骤: 实体类 -----> DAO开发 -----> Service开发 -----> Action动作类开发 -----> 配置文件(appl ...
- spring整合webservice
主要讲解点: WebServiceCXF介绍(了解) JAX-WS服务独立发布及测试.JAX-WS整合spring开发及测试(了解) JAX-RS服务独立发布及测试.JAX-RS整合spring开发及 ...
- SSH整合方案二(不带hibernate.cfg.xml)
整体结构: 1.引入相关jar包 2.编写实体类和映射文件 package cn.zqr.domain;public class Customer {private Long cust_id;priv ...
- Spring项目整合WebService服务遇到问题记录
项目是用SSM+Maven构建,在整合WebService时,将遇到问题解决方式记录如下: 基于WS风格使用方式 1.所需要类库: <dependency> < ...
- SpringBoot整合WebService
WebService是一种传统的SOA技术架构,它不依赖于任何的编程语言,也不依赖于任何的技术平台,可以直接基于HTTP协议实现网络应用间的数据交互. 面向服务架构(SOA)是一个组件模型,它将应用程 ...
- 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]
1.首先整合Spring和Hibernate ①引入jar包: hibernate核心安装包下的: hibernate3.jar lib\required\*.jar lib\optional\ehc ...
最新文章
- Hadoop高速入门
- c#索引器介绍|C#索引器写法|c#索引器例子
- Millenium Leapcow POJ - 2111 (千禧年跳牛)(贪心找最长路径,记忆化)
- 【OpenCV 例程200篇】16. 不同尺寸的图像加法
- TensorFlow 官方文档中文版发布啦(持续维护) 1
- DataFountain新上两项CV算法竞赛(文化传承——汉字书法多场景识别、大数据医疗——肝癌影像AI诊断)——50万巨奖等你来拿!
- 本年度读书计划-看几本必须好好琢磨的书
- numpy的where方法
- nagios扩展开发之check_ping
- 一条让人不安的坐地龙
- 【企业】全球顶级思维模式:建立思维模式,把握人性管理
- c语言中可以使用setw函数吗,string和stringstream+setw()用法总结
- 计算机考研英语需要过六级吗,四六级没过,会影响考研英语吗?
- 64位处理器_64位系统真的比32位系统快吗?
- 三种方式实现echarts树图的背景图片设置
- java网络编程技术有哪些_Java网络编程技术
- 渗透测试之突破口——web服务突破
- IDEA创建SSM(Spring+SpringMVC+Mybatis)项目-Jar包版
- 每日一言:站在高山之巅的人
- qq视频压缩的方法你知道吗
热门文章
- 浅析网站与网址二者之间的差别
- android edittext标签,TagEditText,类似微博标签的文本控件
- 打印机驱动程序属于计算机硬件吗,如何安装打印机驱动程序,详细教您如何给电脑安装打印机驱动程序...
- malloc 初始化_关于内存分配malloc、calloc、realloc的区别
- (转载)关于安装Ubuntu系统时提示“分配到/的分区/dev/sdax开始于xxxx字节,使用磁盘的最小对齐,这可能造成非常差的性能...的解决办法
- 开发日记-20190519 关键词 Linux学习路径
- 利用Minhash和LSH寻找相似的集合
- 深度学习——无监督,自动编码器——尽管自动编码器与 PCA 很相似,but自动编码器既能表征线性变换,也能表征非线性变换;而 PCA 只能执行线性变换...
- AngularJS2.0 quick start——其和typescript结合需要额外依赖
- Mestasploit 客户端渗透