操作失败,没有该服务权限![ 机构号: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)查看用户表, ...
随机推荐
- 51nod1188 最大公约数之和 V2
考虑每一个数对于答案的贡献.复杂度是O(nlogn)的.因为1/1+1/2+1/3+1/4......是logn级别的 //gcd(i,j)=2=>gcd(i/2,j/2)=1=>phi( ...
- UVa 156 Ananagrams
题意:给出一些单词,在这些单词里面找出不能通过字母重排得到的单词(判断的时候不用管大小写),然后按照字典序输出. 学习的紫书的map= = 将每一个单词标准化 先都转化为小写,再排序(即满足了题目中说 ...
- Windows Azure移动终端云服务管理(公测版)
概览 云在远方,管理在您手中.在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了.我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务. 首批利器之中排名 ...
- android定时三种方式
一.采用Handler与线程的sleep(long)方法二.采用Handler的postDelayed(Runnable, long)方法三.采用Handler与timer及TimerTask结合的方 ...
- C++静态成员总结(转)
类中的静态成员真是个让人爱恨交加的特性.我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动. 静态类成员包括静态数据成员和静态函数成员两部分. 一 静态数据成员: 类体中 ...
- VB6.0编程笔记——(1)篇外篇&目录
从计算机专业毕业到进入IT行业,说来也有些年头了.相比较而言算是幸运,也有很多的同学进入了其他行业,也有一些朋友又想进入这个行业.现在回想自己的一路历程,总结一下,也是一份记忆. 基于以上的原因,希望 ...
- Delphi中实现MDI子窗体(转)
Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容 ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一 ...
- Free Candies
题意: 有4堆东西,每堆有n个每个有一个颜色,现在有一个篮子最多能装5个不同的颜色的东西,每次都从堆顶拿,当篮子出现两个相同颜色,可以获得这两个东西,求获得的最大数量 分析: 因为就4推,可以把各堆的 ...
- UITableViewCell 自定义绘制 性能高
// // FoodListTableViewCellB.m // BabyFood // // Created by zhuang chaoxiao on 16/3/7. // Copyri ...
- JDBC项目实践
这几天学习了JDBC的接口,从简单的连接,到不断地对JDBC的代码进行优化,最后到实体类,DAO类的设计,现在对这几天所学做一个总结: 首先是软件的系统组成: 数据库中有很多的表:Customer,D ...