壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 403|回复: 2

关于 CRNConnect

[复制链接]
发表于 2012/3/17 10:00:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问cognos中CRNConnect 是sample里的一个例子,还是cognos jar包封装的API?
我在网上找一些新建报表的例子,在结合sdk自带例子中HandlersCS打算新建一个文件夹
但是老是报错,不知道如何解决,请大家帮忙分析一下,谢谢!
  • public static void main(String[] args) throws MalformedURLException, RemoteException, javax.xml.rpc.ServiceException, ServiceException {
  • Folder folder = new Folder();
  • CRNConnect connection = new CRNConnect(); //这里我直接new的时候eclipse不识别,我只好把sample的CRNConnect 文件考到我的包下
  • connection.CM_URL = "http://localhost:9300/p2pd/servlet/dispatch";
  • System.out.println("001");
  • connection.connectToCognosServer();
  • AddOptions ao = new AddOptions();
  • ao.setUpdateAction(UpdateActionEnum.replace);
  • connection.getCMService().add(new SearchPathSingleObject("newfolder"), new BaseClass[]{ folder }, ao);
  • }

复制代码


运行报错:
  • Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -2
  • at java.lang.String.substring(String.java:1938)
  • at cognos.service.demo.CRNConnect.<init>(CRNConnect.java:110)
  • at cognos.service.demo.addReport.main(addReport.java:19)

复制代码


对应的错误代码位置在CRNConnect.java中
  • private String CRN_HOME = curDir.substring(0,curDir.lastIndexOf("sdk")-1);

复制代码
 楼主| 发表于 2012/3/17 10:00:59 | 显示全部楼层
找到原因了,原来是CRNConnect下面这句代码获取的路径不对

01.private String curDir = System.getProperty("user.dir");
复制代码
我直接改private String CRN_HOME = "D:/Program Files/cognos/c8";
就可以了
最终文件夹创建代码如下:
01.        public static void main(String[] args) throws MalformedURLException, RemoteException, javax.xml.rpc.ServiceException {

02.               

03.                TokenProp directoryNameTokenProp = new TokenProp();

04.                directoryNameTokenProp.setValue("新建demo001");

05.

06.                Folder folder = new Folder();

07.                folder.setDefaultName(directoryNameTokenProp);

08.

09.                CRNConnect connection = new CRNConnect();        

10.                String CM_URL = "http://localhost:9300/p2pd/servlet/dispatch";        

11.                connection.connectToCognosServer(CM_URL);

12.                AddOptions ao = new AddOptions();               

13.                ao.setUpdateAction(UpdateActionEnum.replace);

14.                connection.getCMService().add(new SearchPathSingleObject("/content"), new BaseClass[]{ folder }, ao);               

15.        }

16.}
复制代码
 楼主| 发表于 2012/3/17 10:01:12 | 显示全部楼层
找到原因了,原来是CRNConnect下面这句代码获取的路径不对

01.private String curDir = System.getProperty("user.dir");
复制代码
我直接改private String CRN_HOME = "D:/Program Files/cognos/c8";
就可以了
最终文件夹创建代码如下:
01.        public static void main(String[] args) throws MalformedURLException, RemoteException, javax.xml.rpc.ServiceException {

02.               

03.                TokenProp directoryNameTokenProp = new TokenProp();

04.                directoryNameTokenProp.setValue("新建demo001");

05.

06.                Folder folder = new Folder();

07.                folder.setDefaultName(directoryNameTokenProp);

08.

09.                CRNConnect connection = new CRNConnect();        

10.                String CM_URL = "http://localhost:9300/p2pd/servlet/dispatch";        

11.                connection.connectToCognosServer(CM_URL);

12.                AddOptions ao = new AddOptions();               

13.                ao.setUpdateAction(UpdateActionEnum.replace);

14.                connection.getCMService().add(new SearchPathSingleObject("/content"), new BaseClass[]{ folder }, ao);               

15.        }

16.}
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 18:29 , Processed in 0.012021 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表