原文:https://blog.csdn.net/yuguiyang1990/article/details/36202597#t0
1. Cognos SDK的安装
在网上找了好久,都没有找到SDK的安装包,最后从顾问那里要到了安装包,安装的话,没有什么特别的,只要覆盖之前的安装路径就可以了。
Cognos SDK 10.2.1 下载地址:
Cognos SDK 官方文档:
2. Java Project
好久不写Java了,稍微生疏了点儿,我们先打开熟悉的Eclipse,新建个Java项目
2.1 引入Cognos jar 包
在安装了了Cognos SDK之后,安装目录会有一个sdk目录,
我们到java下面的lib目录里找Cognos依赖的jar包
将所有的jar包复制到项目中去,并添加引用
2.2 测试类
好了,启动Cognos服务,我们写一个测试类
从网上找了段代码,很简单,就作为Hello Cognos吧
代码:
[java] view plain copy
- package org.ygy.cognos;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.xml.rpc.ServiceException;
- import com.cognos.developer.schemas.bibus._3.BaseClass;
- import com.cognos.developer.schemas.bibus._3.ContentManagerService_PortType;
- import com.cognos.developer.schemas.bibus._3.ContentManagerService_ServiceLocator;
- import com.cognos.developer.schemas.bibus._3.PropEnum;
- import com.cognos.developer.schemas.bibus._3.QueryOptions;
- import com.cognos.developer.schemas.bibus._3.SearchPathMultipleObject;
- import com.cognos.developer.schemas.bibus._3.Sort;
- public class HelloCognos {
- //服务器地址
- public static final String SERVER_URL = "http://localhost:9300/p2pd/servlet/dispatch";
- public static void main(String[] args) {
- try {
- // 1.初始化ServiceLocator
- ContentManagerService_ServiceLocator cms_locator = new ContentManagerService_ServiceLocator();
- // 2.获取PortType
- ContentManagerService_PortType cms_portType = cms_locator.getcontentManagerService(
- new URL(SERVER_URL));
- //3.参数
- PropEnum props[] = new PropEnum[] { PropEnum.searchPath, PropEnum.defaultName };
- //4.结果集
- BaseClass baseClasses[] = null;
- String searchPath = "/content//package";
- try {
- SearchPathMultipleObject spMulti = new SearchPathMultipleObject(searchPath);
- baseClasses = cms_portType.query(spMulti, props, new Sort[] {}, new QueryOptions());
- } catch (Exception e) {
- e.printStackTrace();
- return;
- }
- System.out.println("PACKAGES:\n");
- if (baseClasses != null) {
- for (int i = 0; i < baseClasses.length; i++) {
- System.out.println(baseClasses[i].getDefaultName().getValue() + " - "
- + baseClasses[i].getSearchPath().getValue());
- }
- }
- } catch (ServiceException e) {
- e.printStackTrace();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- System.out.println("Hello Cognos!");
- }
- }
这段代码实现了,连接Cognos服务,输出所有的package信息
至于每段代码是干什么的,什么意思,下次再说吧,反正咱们用最简单的代码实现了连接Cognos服务,并输出了一些信息
2.3 运行