操作失败,没有该服务权限![ 机构号: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)查看用户表, ...
随机推荐
- Spring 实践 -IoC
Spring 实践 标签: Java与设计模式 Spring简介 Spring是分层的JavaSE/EE Full-Stack轻量级开源框架.以IoC(Inverse of Control 控制反转) ...
- UVa 839 (递归方式读取二叉树) Not so Mobile
题意: 递归的方式输入一个树状天平(一个天平下面挂的不一定是砝码还可能是一个子天平),判断这个天平是否能满足平衡条件,即W1 * D1 == W2 * D2. 递归的方式处理输入数据感觉很巧妙,我虽然 ...
- MYSQL数据库管理之权限管理
经常遇到有网友在QQ群或者论坛上问关于mysql权限的问题,今天抽空总结一下关于这几年使用MYSQL的时候关于MYSQL数据库的权限管理的经验,也希望能对使用mysql的网友有所帮助! 一.MYSQL ...
- linux安全体系
一. 硬件.软件选型 确认需求,分析可能面临的安全问题 记录各硬件寿命.保证散热.确保性能冗余 使用商业正版.开源的软件,不从互联网安装系统,从源头保证系统安全 购买专业售后支持 服务器配置双电源 ...
- Drawable和Bitmap的区别
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好 ...
- C++实现日期类(Date类)
#include<iostream>using namespace std;class Date{public: Date(int year = 1900, int month = ...
- Linux Autotools
/********************************************************************** * Linux Autotools * 说明: * 我们 ...
- 【C#学习笔记】文本复制到粘贴板
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- shell 里把命令的输出赋给变量 以及变量的使用
//获取本月1号 的命令 date +%Y-$m-1 shell脚本 把时间命令的值赋给变量 并使用 #! /bin/sh #赋值 time=$(date +%Y-%m-) #使用变量(转换成时间戳 ...
- 【转】U-boot分析与移植(1)----bootloader分析
原文网址:http://blog.csdn.net/jianchi88/article/details/7061089 一.Boot Loader 概念 就是在操作系统内核运行之前运行的一段小程序. ...