操作失败,没有该服务权限![ 机构号:99 ,用户ID:50000009 ,服务号:0101030112 ]
操作失败,没有该服务权限![ 机构号:99 ,用户ID:50000009 ,服务号:0101030112 ]
此时我们可以把代码 SERVICE_NO 改成 10个0 即 0000000000 ,就可以进行权限查看.
然后把response响应大对象打印出来看看,就知道连到哪里去了
package com.isoftstone.common; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import com.isoftstone.core.common.tools.XmlTool; import com.isoftstone.core.dto.RequestBusinessObject; import com.isoftstone.core.dto.ResponseBusinessObject; import com.isoftstone.fwk.dao.DaoException; import com.isoftstone.fwk.util.SpringUtils; import com.isoftstone.httpclient.ESBClient; import com.isoftstone.platform.constants.PltmConstants; import com.isoftstone.platform.service.PltmPacketService; import com.isoftstone.platform.vo.PltmPacketVO; public class JavaCTool {//需要晓飞最新esb.jar支持 /** 创建一个logger对象 **/ private static Logger logger = Logger.getLogger(JavaCTool.class); /** * 在进行特殊判断以后 , 调用javac保存与平台通信报文 * 当前特殊判断只针对投保查询检验是不进行核心同步保存的,而是返回false * @param recvOutMap * @param pltmPacketVO * @param sendOutMap * @return */ public static boolean callJavaCAfterJudgement(Map<String, List<Map<String, Object>>> recvOutMap ,PltmPacketVO pltmPacketVO,Map sendOutMap){ // boolean flag = true; // if(sendOutMap != null){//此处的判断主是要因为 投保查询检验时,核心不需要第一次平台返回的提问报文,只需要第二次和平台通信的报文即可.所以如果是查询检验问题,那么return false,从而不发送报文给核心 // List list = (List) sendOutMap.get("CHECKCODE"); // if(list != null && list.size() > 0){//判断投保查询校验list是否存在 // Map innerMap = (Map) list.get(0); // String renewalFlag = (String) innerMap.get("RENEWAL_FLAG") ; // if( renewalFlag != null ){ // if( "1".equals( renewalFlag ) ){ // flag = false ; // } // } // } // } // if(flag == true){ return callJavaC(recvOutMap,pltmPacketVO,sendOutMap); // }else{ // return false; // } } /* * @param recvOutMap 接收外围map * @param pltmPacketVo 本系统返回的大日志对象,包含接收外围,上平台,平台返回,发送外围,成功失败等内容. * @param sendOutMap 发送给外围map */ public static boolean callJavaC(Map<String, List<Map<String, Object>>> recvOutMap ,PltmPacketVO pltmPacketVO,Map sendOutMap){ PltmPacketService pltmPacketService = (PltmPacketService) SpringUtils.getSpringBean("pltmPacketService"); ResponseBusinessObject responseBO = null; Map<String, List<Map<String, Object>>> sendV5Map = new HashMap<String, List<Map<String, Object>>>();//发送V5的通信 map try { List<Map<String, Object>> recvOutBaseList = recvOutMap.get("BASE"); List<Map<String, Object>> recvOutVhlList = recvOutMap.get("VHL"); if( (recvOutVhlList == null)||(recvOutVhlList.size()== 0) ) return false; String dptcde = (String) recvOutBaseList.get(0).get("DPT_CDE");//8位出单机构 List headList = (List) sendOutMap.get("HEAD");//ERROR_CODE start if( (headList == null)||(headList.size()== 0) ) return false; Map headMap = (Map)headList.get(0); List vhlList = (List) sendOutMap.get("VHL");//QUERY_SEQUENCE_NO start if( (vhlList == null)||(vhlList.size()== 0) ) return false; Map vhlmap = (Map)vhlList.get(0); Map<String, Object> recvOutVhlMap = recvOutVhlList.get(0); //错误码如果是0000表示平台通信完全正常,此时才继续往下走和v5通信 if("0000".equals(headMap.get("ERROR_CODE")) &&PltmConstants.FOUR.equals(pltmPacketVO.getCSucMrk()) && PltmConstants.V5FAIL_MRK.equals(pltmPacketVO.getCSendV5Mrk()) ){ //如果和平台交互标志为4 //准备javaC通信,将数据填充到sendV5Map List<Map<String, Object>> baseList = Map<String,Object> baseMap = new HashMap<String,Object>(); String cQueryCde = (String)vhlmap.get("QUERY_CDE"); String cCarMark = (String)recvOutVhlMap.get("CAR_MARK"); String cEngineNo = (String)recvOutVhlMap.get("ENGINE_NO"); String cRackNo = (String)recvOutVhlMap.get("RACK_NO"); baseMap.put("DPT_CDE",dptcde);//DPT_CDE end baseMap.put("CAR_MARK",cCarMark);//CAR_MARK end baseMap.put("ENGINE_NO",cEngineNo);//ENGINE_NO end baseMap.put("RACK_NO",cRackNo);//RACK_NO end baseMap.put("QUERY_SEQUENCE_NO",cQueryCde);//QUERY_SEQUENCE_NO end baseMap.put("REQUESTXML", pltmPacketVO.getCSendPltm().replace("</", "$($").replace("/>", "$)$").replace("<", "#(#").replace(">", "#)#")); baseMap.put("RESPONSEXML", pltmPacketVO.getCRecvPltm().replace("</", "$($").replace("/>", "$)$").replace("<", "#(#").replace(">", "#)#")); baseList.add(baseMap); sendV5Map.put("BASE",baseList); //填充完毕 //开始调用javaC通信,v5通信成功后 logger.info("同步查询码为 "+cQueryCde+" 的[请求与返回]报文给核心,开始"); SaveQueryInfoService(recvOutMap,sendV5Map); logger.info("同步查询码为 "+cQueryCde+" 的[请求与返回]报文给核心,结束"); //v5通信成功后,置通信成功标志 pltmPacketService.updateSendV5Mrk(pltmPacketVO.getCPkId(),PltmConstants.V5SUCC_MRK); logger.info("把 查询码为 "+cQueryCde+" 的与核心通信成功标志修改为1"); }else{ return false; } } logger.warn("[生成V5交互报文失败] : "+npE); return false; } logger.warn("[更新日志失败]:"+daoE); return false; } logger.error(e.getMessage()); logger.error("与核心数据同步失败,可能原因:超时"); return false; } return true; } /* * @author * @param recvOutMap 用于提取部分Head信息到sendV5Map中云 * @param sendV5Map 缺少Head信息的map,在设置完Head之后,转成requestBO,用于和V5进行通信 */ public static ResponseBusinessObject SaveQueryInfoService(Map<String, List<Map<String, Object>>> recvOutMap ,Map sendV5Map )throws Exception{ ESBClient esbClient = new ESBClient(); List list = new ArrayList(); Map head = new HashMap(); head.put("REQUEST_TYPE", ""); head.put("SYSNAME", "platproxy"); head.put("SYSCODE", "02"); head.put("USERCDE", "100009999"); head.put("DPTCDE", recvOutMap.get("HEAD").get(0).get("DPTCDE")); head.put("TYPE", "Q"); head.put("DATA", "A"); head.put("SERVICE_NO","0000000000"); head.put("SERVICENAME","SaveQueryInfo"); head.put("USERID", "50000009"); list.add(head); sendV5Map.put("HEAD", list); //esb设置连接超时 ESBClient client = new ESBClient(30*1000,30*1000,30*1000); RequestBusinessObject requestBO = null; ResponseBusinessObject responseObject = null; try { requestBO = XmlTool.getFromCoreMap(sendV5Map); // String s = XmlTool.convertToXml(requestBO); responseObject = client.invoke(requestBO); String s = XmlTool.convertToXml(responseObject); System.out.println("核心返回信息________________+:\n"+s); } catch (Exception e) { throw e; } return responseObject; } // }
操作失败,没有该服务权限![ 机构号:99 ,用户ID:50000009 ,服务号:0101030112 ]的更多相关文章
- Linux下文件权限(一)用户ID和用户组ID
最近在读<unix环境高级编程>,看到文件权限这里比较糊涂,主要设计多个用户ID和用户组ID,包括下面两个: (1)实际用户ID和实际用户组ID:这一部分表示我们究竟是谁.这两个字段在登录 ...
- win7 提升windows服务权限使非管理员用户可以控制windows服务的开启和关闭
#include <windows.h>#include <tchar.h>#include <strsafe.h>#include <aclapi.h> ...
- 解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题
关键点:- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizati ...
- 如何排查sharepoint2010用户配置文件同步服务启动问题
用户配置文件同步服务与 Microsoft Forefront Identity Manager (FIM) 交互,以与外部系统(如目录服务和业务系统)同步配置文件信息.启用用户配置文件同步服务时,将 ...
- UNIX文件的权限之“设置用户ID位”
用stat函数可以获取一个文件的状态信息,原型是这样的: int stat(const char *path, struct stat *buf); 其中结构体stat的结构: struct stat ...
- php 微信登录 公众号 获取用户信息 微信网页授权
php 微信登录 公众号 获取用户信息 微信网页授权 先自己建立两个文件: index.php 和 getUserInfo.php index.php <?php //scope=snsap ...
- 用户id,组id和文件访问权限
实际用户ID和实际组ID:标示了我们究竟是谁,这两个字段在登录时取自口令文件中的登录项 有效用户ID和有效组ID以及附属组ID:决定了我们的文件的访问权限(通常有效用户ID等于实际用户ID,有效组ID ...
- paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决
paip.花生壳 服务启动失败 以及不能安装服务,权限失败的解决 系统win7 NewPhDDNS_1.0.0.30166.exe 作者Attilax 艾龙, EMAIL:1466519819@ ...
- (2.2)学习笔记之mysql基础操作(登录及账户权限设置)
本系列学习笔记主要讲如下几个方面: 本文笔记[三:mysql登录][四:账户权限设置][五:mysql数据库安全配置] 三.mysql登录 常用登录方式如下: 四.账户权限设置 (4.1)查看用户表, ...
随机推荐
- Incorrect key file for table '/tmp/#sql_882_0.MYI'; try to repair it
修表方法如下: 一法:. check table 和 repair table 方法1,进入Mysql 的Dos控制台,输入密码进入 2,use database;(你的数据库名) 3, check ...
- mac terminal 命令
mac下显示隐藏文件 显示 defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏 defaults write com.app ...
- 初识EasyUI
1.下载Jquery_EasyUI文档,将里面的spket-1.6.18.jar复制放到适合的位置(随意,不要有中文路径).使用命令行将其安装: 进入到文件目录下: 弹出安装界面选择下一步: 选 ...
- 51nod1189 阶乘分数
(x-n!)(y-n!)=n!2 ans=t[n]+1.t表示的是n!2的小于n!的约数个数.n!2=p1a1*p2a2*p3a3...t[n]=(a1+1)*(a2+1)...-1 /2; 2对于n ...
- STM32-F0/F1/F2
用到的资源是:A.ST公司提供:STM32F10x开发标准库V3.5B.实验平台:战舰开发板V2.1C.编译软件:MDK3.8D.编辑软件:Source Insight_V3.5E.RTOS:ucos ...
- iOS基础CGAffineTransform的简单使用
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...
- ecshop显示所有分类树栏目
1.找到 category.php 和goods.php 两个文件修改: $smarty->assign('categories', get_categories_tree(0)); // 分类 ...
- NHibernate实例化类部分属性
NHibernate 为习惯SQL的开发者提供了接口,将查询的结果转变为持久化对象.虽然该方法不是很提倡. GetCurrentSession().CreateSQLQuery(sql) 参数sql就 ...
- T-SQL备忘(5):查看执行计划
先理解几个概念:表扫描.聚集索引扫描.聚集索引查找.索引扫描.书签查找. [查看执行计划] 在理解概念之前先得知道如何查看执行计划—Ctrl+L.如下图: 注:SQL Server的执行计划是从右向左 ...
- 【转】Android屏幕适配全攻略(最权威的官方适配指导)
原文网址:http://blog.csdn.net/jdsjlzx/article/details/45891551 Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的 ...