webservice配置
服务端配置:
第一步:引用jar包
commons-httpclient.jar
commons-logging.jar
jdom-10.jar
wsdl4j-1.6.1.jar
xbean-spring-2.8.jar
xfire-all-1.2.6.jar
第二步:添加配置文件
路径:WEB-INF/config/xfire-servlet.xml
内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- START SNIPPET: xfire -->
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/userWeb">
<ref bean="sso"/>
</entry>
</map>
</property>
</bean>
<!-- Declare a parent bean with all properties common to both services -->
<bean id="sso" class="org.codehaus.xfire.spring.remoting.XFireExporter">
<property name="serviceFactory">
<ref bean="xfire.serviceFactory"/>
</property>
<property name="xfire">
<ref bean="xfire"/>
</property>
<property name="serviceBean">
<ref bean="cmsUserWebMng"/>
</property>
<property name="serviceClass">
<value>com.jeecms.cms.manager.main.CmsUserWebMng</value>
</property>
</bean>
<!-- END SNIPPET: xfire -->
</beans>
第三步:修改web。xml
添加配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/application-context.xml
/WEB-INF/config/cache-context.xml
/WEB-INF/config/captcha-context.xml
/WEB-INF/config/jeecore-context.xml
/WEB-INF/config/jeecms-context.xml
/WEB-INF/config/xfire-servlet.xml//添加配置
</param-value>
</context-param>
增加:
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/portal/door/services/*</url-pattern>
</servlet-mapping>
第四步:添加接口和实现方法CmsUserWebMng和CmsUserWebMngImpl
CmsUserWebMng:
package com.jeecms.cms.manager.main;
public interface CmsUserWebMng {
public void save(String username, String password, String email, String ip, String realname);
public void update(String oldUsername, String username, String password, String email);
public void delete(String username);
}
CmsUserWebMngImpl
package com.jeecms.cms.manager.main.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jeecms.cms.dao.main.CmsUserDao;
import com.jeecms.cms.entity.main.CmsGroup;
import com.jeecms.cms.entity.main.CmsSite;
import com.jeecms.cms.entity.main.CmsUser;
import com.jeecms.cms.entity.main.CmsUserExt;
import com.jeecms.cms.manager.main.CmsGroupMng;
import com.jeecms.cms.manager.main.CmsSiteMng;
import com.jeecms.cms.manager.main.CmsUserExtMng;
import com.jeecms.cms.manager.main.CmsUserSiteMng;
import com.jeecms.cms.manager.main.CmsUserWebMng;
import com.jeecms.common.hibernate3.Updater;
import com.jeecms.core.entity.UnifiedUser;
import com.jeecms.core.manager.UnifiedUserMng;
@Service
@Transactional
public class CmsUserWebMngImpl implements CmsUserWebMng {
public void save(String username, String password, String email, String ip, String realname) {
// TODO Auto-generated method stub
UnifiedUser unifiedUser = unifiedUserMng.save(username, email,
password, ip);
CmsUser user = new CmsUser();
user.forAdmin(unifiedUser, false, false, 8);
CmsGroup group = null;
CmsSite site = cmsSiteMng.findById(1);
group = cmsGroupMng.getRegDef();
if (group == null) {
throw new RuntimeException(
"register default member group not setted!");
}
user.setGroup(group);
user.init();
dao.save(user);
CmsUserExt userExt = new CmsUserExt();
userExt.setRealname(realname);
cmsUserExtMng.save(userExt, user);
cmsUserSiteMng.save(site, user, Byte.parseByte("1"), true);
System.out.println("管理员添加成功");
}
public void update(String oldUsername, String username, String password, String email) {
// TODO Auto-generated method stub
CmsUser bean = dao.findByUsername(oldUsername);
if (bean != null) {
bean.setUsername(username);
bean.setEmail(email);
Updater<CmsUser> updater = new Updater<CmsUser>(bean);
updater.include("email");
CmsUser user = dao.updateByUpdater(updater);
if (!password.equals("")){
unifiedUserMng.update(user.getId(), password, user.getEmail());
}
System.out.println("更新成功");
}
}
public void delete(String username) {
// TODO Auto-generated method stub
CmsUser bean = dao.findByUsername(username);
unifiedUserMng.deleteById(bean.getId());
CmsUser user = dao.deleteById(bean.getId());
if (user != null) {
System.out.println("删除成功");
}
}
public CmsUserDao dao;
private CmsUserExtMng cmsUserExtMng;
private UnifiedUserMng unifiedUserMng;
private CmsGroupMng cmsGroupMng;
private CmsSiteMng cmsSiteMng;
private CmsUserSiteMng cmsUserSiteMng;
@Autowired
public void setDao(CmsUserDao dao) {
this.dao = dao;
}
@Autowired
public void setCmsUserExtMng(CmsUserExtMng cmsUserExtMng) {
this.cmsUserExtMng = cmsUserExtMng;
}
@Autowired
public void setUnifiedUserMng(UnifiedUserMng unifiedUserMng) {
this.unifiedUserMng = unifiedUserMng;
}
@Autowired
public void setCmsGroupMng(CmsGroupMng cmsGroupMng) {
this.cmsGroupMng = cmsGroupMng;
}
@Autowired
public void setCmsSiteMng(CmsSiteMng cmsSiteMng) {
this.cmsSiteMng = cmsSiteMng;
}
@Autowired
public void setCmsUserSiteMng(CmsUserSiteMng cmsUserSiteMng) {
this.cmsUserSiteMng = cmsUserSiteMng;
}
}
第五步:配置接口及实现类
在config/jeecms-context.xml中添加
<bean id="cmsUserWebMng" class="com.jeecms.cms.manager.main.impl.CmsUserWebMngImpl" />
服务端配置成功
客户端:
public void websave(CmsUser bean, String password, String ip){
org.codehaus.xfire.service.Service srModel = new ObjectServiceFactory().create(CmsUserWebMng.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());// 创建工厂实例
String url = Constants.EMSP_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url);
manager.save(bean.getUsername(), password, bean.getEmail(), ip, bean.getRealname());
} catch (Exception e) {
e.printStackTrace();
}
String url2 = Constants.DSPTECH_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url2);
manager.save(bean.getUsername(), password, bean.getEmail(), ip, bean.getRealname());
} catch (Exception e) {
e.printStackTrace();
}
String url3 = Constants.DSPTALENT_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url3);
manager.save(bean.getUsername(), password, bean.getEmail(), ip, bean.getRealname());
} catch (Exception e) {
e.printStackTrace();
}
}
public void webupdate(String oldUsername, String username, String password, String email){
org.codehaus.xfire.service.Service srModel = new ObjectServiceFactory().create(CmsUserWebMng.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());// 创建工厂实例
String url = Constants.EMSP_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url);
manager.update(oldUsername, username, password, email);
} catch (Exception e) {
e.printStackTrace();
}
String url2 = Constants.DSPTECH_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url2);
manager.update(oldUsername, username, password, email);
} catch (Exception e) {
e.printStackTrace();
}
String url3 = Constants.DSPTALENT_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url3);
manager.update(oldUsername, username, password, email);
} catch (Exception e) {
e.printStackTrace();
}
}
public void webdelete(String username){
org.codehaus.xfire.service.Service srModel = new ObjectServiceFactory().create(CmsUserWebMng.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());// 创建工厂实例
String url = Constants.EMSP_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url);
manager.delete(username);
} catch (Exception e) {
e.printStackTrace();
}
String url2 = Constants.DSPTECH_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url2);
manager.delete(username);
} catch (Exception e) {
e.printStackTrace();
}
String url3 = Constants.DSPTALENT_URL;
try{
CmsUserWebMng manager = (CmsUserWebMng)factory.create(srModel, url3);
manager.delete(username);
} catch (Exception e) {
e.printStackTrace();
}
}
webservice配置的更多相关文章
- 找不到对应的webservice配置参数[ProcessService]
在UI端 保存时 界面显示无法保存 且报此错误 “找不到对应的webservice配置参数[ProcessService]” 此下为解决方法: 首先 在[应用管理平台]--[参数模板设置] 找到你的参 ...
- webservice 配置
webservice 配置 <system.web> <!--允许GET/POST请求 --> <webServices> <protocols> &l ...
- jquery ajax跨域访问webservice配置
1.webservice方法 [System.Web.Script.Services.ScriptService] public class TestService : System.Web.Serv ...
- ajax跨域访问 java controller 和 cxf(webservice) 配置方式(CORS)
1. controller跨域访问,配置方式 重点在这里: <mvc:cors> <mvc:mapping path="/*" allowed-origins=& ...
- .NET总结--WebService 配置与设置,发布
发环境 OS:win10 企业版 开发工具:VS2017 IIS版本:6.0 .NET版本:4.6.1 Web Service 简介 Web Service也叫XML Web Service WebS ...
- log4net类库配置、WebService配置
一.类库配置 结构如下图 1.LogUtility类 public class LogUtility { private static readonly log4net.ILog log = log4 ...
- Axis2 WebService(配置、发布、调用)
准备工作 1.下载:axis2-1.5.4-bin.zip,axis2-1.5.4-war.zip 下载地址:http://axis.apache.org/axis2/java/core/ 2.环境变 ...
- springboot 配置webservice接口
导入依赖的jar <!-- webservice cxf --> <dependency> <groupId>org.apache.cxf</groupId& ...
- cxf+spring+数字签名开发webservice(一)
数字证书的准备 下面做的服务端和客户端证书在例子中无法加解密,不知道什么原因,我是使用正式环境中的客户端和服务端进行开发测试的,所以需要大家自己去准备证书,或者有人知道为什么jdk生成 ...
随机推荐
- nginx 一二事(2) - 创建虚拟静态服务器
一.什么是nginx 是一个C语言开发的HTTP反向代理服务器,性能非常高 一个俄罗斯的哥们开发的,官方提供的测试性能能够达到5W的并发,我的天呐~,实际测试差不多是2W,而淘宝的牛人可以优化到200 ...
- java 12 - 5 带有缓冲区的字符流
字符流为了高效读写,也提供了对应的字符缓冲流. 字符缓冲流:A. BufferedWriter:字符缓冲输出流 B. BufferedReader:字符缓冲输入流 A.BufferedWriter:字 ...
- 11SpringMvc_一个Action中,写多个类似的业务控制方法
我们要实现这么一个功能: 编写两个表单,提交到同一个Action中的不同的处理方法中.比如注册和登录,都提交到UserAction这个控制类中.但是这两个提交由userAction这个控制类不同的方法 ...
- sqlSQL2008如何创建定时作业(代理服务)(转)
SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下! 1.打开[SQL Server Management Studio],在[对象资源管理器]列表中 ...
- XCode的 Stack Trace,调试时抛出异常,定位到某一行代码
在Xcode调试程序的时候,总是会出现不知道错误在什么地方的问题,很是捉急,现在又一个办法,可以具体定位到错误行的代码,试一下吧?超级好用 操作很简单: 1.在XCode界面中按cmd + 6快捷键, ...
- JS 模板引擎之JST模板
项目中有用到JST模板引擎,于是抽个时间出来,整理了下关于JST模板引擎的相关内容. 试想一个场景,当点击页面上列表的翻页按钮后,通过异步请求获得下一页的列表数据并在页面上显示出来.传统的JS做法是编 ...
- android Notification 的使用
最近一直在研究 android ,并一边研究一边做应用.其中遇到了把程序通知常驻在 Notification 栏,并且不能被 clear 掉(就像android QQ一样)的问题.经过研究实现了其功能 ...
- Java系列,《Java核心技术 卷1》,chapter 13,集合
13.1.2 Java类库中的集合接口和迭代器接口 删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateExcep ...
- nodeJs--模块module.exports与实例化方法;
在nodejs中,提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象.而在e ...
- Object C学习笔记14-分类(category)
在.NET中有一个非常带劲的特性,那就是扩展方法. 扩展方法使你能够向现有类型“添加”方法(包括你自定义的类型和对象噢),而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的 ...