`

Acs is enabled or not(test code)

阅读更多
引用

/*********************************************************************
*    
*  TestACS - verifies ACS functionality
*     Checks acs server map, dm_acs_config
*     Then executes a real world test of the ACS server
*
*  author: fabian.lee
*
*
*
*  Example compilation in windows
*       javac -classpath "c:\progra~1\documentum\shared\dfc.jar;c:\documentum\config;." TestACS.java
*
*
*  Example of usage in windows
*      java -classpath "c:\progra~1\documentum\shared\dfc.jar;c:\documentum\config;." TestACS mydocbase dmadmin dmpass "/Temp/fabtest.txt"
*
*
*********************************************************************/
import com.documentum.fc.client.*;
import com.documentum.fc.common.*;
import com.documentum.com.*;
import com.documentum.operations.*;
import com.documentum.fc.client.acs.*;
import java.net.*;
import java.io.*;


public class TestACS {

    public static void main(String args[]) throws Exception {
    
     TestACS test = new TestACS("aix17","fangh","fangh","/方慧_fangh/33");
    }

    public TestACS(String docbase,String user,String pass,String objectPath) throws Exception {

     //**************************************************************
     // Establish session
     //**************************************************************
     IDfClientX clientx = new DfClientX();
     IDfClient client = clientx.getLocalClient();

     // get session
     IDfLoginInfo loginInfo = clientx.getLoginInfo();
     loginInfo.setUser(user);
     loginInfo.setPassword(pass);
     IDfSessionManager sMgr = client.newSessionManager();
     sMgr.setIdentity(docbase,loginInfo);
     IDfSession session = sMgr.getSession(docbase);



     //**************************************************************
     // Pull info from acs server map, checks known status
     //**************************************************************
     IDfDocbrokerClient dbclient = clientx.getDocbrokerClient();
     IDfTypedObject acsmap = dbclient.getAcsServerMap(session.getDocbaseName());
     System.out.println("ACS server/status=" + acsmap.getValue("r_host_name") + "/" + acsmap.getValue("r_last_status"));
     for (int i = 0; i < acsmap.getAttrCount(); i++) {
          IDfAttr attr = acsmap.getAttr(i);
          System.out.println("\t" + attr.getName() + "="
                    + acsmap.getValueAt(i).toString());
     }



     //**************************************************************         
     // Pull base url from dm_acs_config, checks base url for validity
     //**************************************************************
     IDfCollection coll = null;
     IDfQuery query = clientx.getQuery();
     query.setDQL("select r_object_id,acs_base_url from dm_acs_config");
     coll = query.execute(session,IDfQuery.DF_READ_QUERY);
     while(coll.next()) {
          String baseURL = coll.getString("acs_base_url");
          System.out.println("acs_base_url=" + baseURL);

          // now pull this URL and see if we get back a valid response
          if(baseURL!=null && baseURL.length()>0) {
               URL url = new URL(baseURL);
               URLConnection conn = url.openConnection();
               BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                  String line = null;
                  while ((line = rd.readLine()) != null) {
                      System.out.println("ACS returned: " + line);
                      if("ACS Server is running".equals(line)) {
                           System.out.println("SUCCESS connecting to acs server at " + baseURL);
                      }else {
                           System.out.println("ERROR with response coming from " + baseURL);
                      }
                  }
                  rd.close();
          }else {
               System.out.println("PROBLEM: there was a problem with the acs_base_url on " + coll.getString("r_object_id"));
          }

     }
         

     //**************************************************************
     // now get object we will test ACS with
     //**************************************************************
     IDfSysObject docObj = (IDfSysObject) session.getObjectByPath(objectPath);
     if(docObj==null)
          throw new DfException("could not find object by path: " + objectPath);


     //**************************************************************
     // Export using ACS URL
     //**************************************************************
     IDfAcsTransferPreferences atp = clientx.getAcsTransferPreferences();
     atp.preferAcsTransfer(true);

     IDfExportOperation exportOp = clientx.getExportOperation();
     // setting ACS preferences to true in export operation
     // means that it won't be exported to the local file system
     // and intstead will return ACS URL for download
     exportOp.setAcsTransferPreferences(atp);
     IDfExportNode exportNode = (IDfExportNode) exportOp.add(docObj);
     boolean result = exportOp.execute();
     if (result) {
          IDfList nodes = exportOp.getNodes();
          for (int i = 0, size = nodes.getCount(); i < size; i++) {
               IDfExportNode node = (IDfExportNode) nodes.get(i);
               IDfEnumeration acsRequests = node.getAcsRequests();
               //这里很奇怪,每次都是false   
               while (acsRequests.hasMoreElements()) {   
                    IDfAcsRequest acsRequest = (IDfAcsRequest) acsRequests
                              .nextElement();

                    // get ACS URL
                    String docURL = acsRequest.makeURL();
                    System.out.println("docURL= " + docURL + "\r\n");


                    //**************************************************************
                    // Now try pulling real content from ACS server
                    //**************************************************************
                    URL url = new URL(docURL);
                    URLConnection conn = url.openConnection();
                    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

                       String line = null;
                       while ((line = rd.readLine()) != null) {
                           System.out.println(line);
                       }
                       rd.close();                        

                   
               } // each acs request
          } // each node
     } // successful execution


     // release session
     sMgr.release(session);

    }

}



分享到:
评论

相关推荐

    ACS.rar_ACO MATLAB CODE_ACS-FCM_TSP matlab_mmas_蚁群优化

    标题中的“ACS.rar_ACO MATLAB CODE_ACS-FCM_TSP matlab_mmas_蚁群优化”揭示了这个压缩包文件包含的主要内容。这是一组基于MATLAB编程的蚁群优化算法(Ant Colony Optimization, ACO)实现,用于解决旅行商问题...

    acs.rar_ACS TSP_This Is It_acs

    在这个压缩包中,"acs.rar_ACS TSP_This Is It_acs" 提供了关于使用ACS解决旅行商问题(Traveling Salesman Problem, TSP)的相关代码。 旅行商问题是一个经典的组合优化问题,目标是找到一个城市访问一次并返回...

    ACS杂志的latex模板

    在LaTeX领域,模板是创建专业文档的关键工具,特别是对于学术出版物,如ACS(美国化学会)的期刊。ACS提供了官方的LaTeX模板,帮助作者遵循其特定的排版和格式规范,确保文章的统一性和专业性。然而,有时在使用这些...

    Cisco ACS5.8配置手册.docx

    Cisco ACS5.8 配置手册 Cisco ACS5.8 配置手册是 Cisco Access Control System(ACS)的配置指南,涵盖了 ACS 的一些常用功能,例如安装、HA、高可用性、域联动、日志查看、备份和还原等。 一、 ACS5.8 安装和初始...

    ACS 范例程序_settle3y7_acs_acs控制器指令_

    在本主题中,我们将深入探讨ACS(Automatic Control System,自动控制系统)控制器的相关知识,特别是针对“settle3y7”型号的控制器以及相关的ACS指令。ACS控制器广泛应用于各种自动化设备和系统中,如电梯、机器人...

    openacs的搭建方法

    【OpenACS搭建详解】 OpenACS(开放应用服务框架)是一个基于Web的开源应用程序开发平台,其核心组件包括数据库管理、用户认证、权限控制、工作流系统等。本指南将详细介绍如何在Windows环境下搭建OpenACS服务器。 ...

    CiscoACS5.8配置手册.pdf

    从给定文件的【标题】、【描述】、【标签】和【部分内容】来看,本文档是一份关于Cisco ACS (Access Control Server) 版本 5.8的配置手册。Cisco ACS是一个用于网络设备和应用的安全接入管理解决方案,它能够提供...

    ACS4.2的安装配置

    ### ACS4.2的安装与配置详解 #### 一、ACS4.2的概述与环境准备 ACS(Access Control System)是一种广泛应用于企业级网络管理的解决方案,它提供了集中式的认证、授权和计费功能,使得网络管理员能够更加高效地...

    ACS 5.6 license(授权)

    在本案例中,我们关注的是"ACS 5.6 license(授权)",这是一个针对ACS(Access Control System)5.6版本的授权文件。ACS是由Axxys Technologies开发的一款强大的网络访问控制和身份验证解决方案,广泛应用于企业...

    openacs的部署与使用(详细图文教程)

    OpenACS的部署与使用详细图文教程 OpenACS是一个基于Java的开源内容管理系统,使用Java Servlet技术和Java Server Faces(JSF)来构建Web应用程序。下面将详细介绍OpenACS的部署与使用方法。 知识点一:OpenACS的...

    ATA8-ACS2协议

    根据提供的文件信息,以下是对ATA8-ACS2协议相关的知识点的详细说明。 首先,需要指出的是ATA8-ACS2协议是一个针对ATA (Advanced Technology Attachment) 规范的扩展版本,它是在ATA/ATAPI Command Set-2 (ACS-2)...

    ACS 5.3 license亲测可用

    ACS(Cisco Access Control Server)是思科公司推出的一款身份验证、授权和计费(AAA,Authentication, Authorization, and Accounting)服务器,主要用于网络访问控制。在本文中,我们将深入探讨ACS 5.3版本的许可...

    acs122驱动

    SETUP_ERROR_OS_NOT_SUPPORTED 0x20000001 Operating system is not supported SETUP_ERROR_WINNT4_SP6_REQUIRED 0x20000002 Windows NT 4.0 Service Pack 6 is required SETUP_ERROR_UNEXPECTED 0x20000003 ...

    ACS(TR069/ACS)模拟器/

    ACS(Auto-Configuration Server)是TR069协议的核心组件,它负责与CPE进行通信,执行设备配置、软件更新、故障诊断等功能。 ACS模拟器是开发者和网络管理员用于测试和调试TR069协议实现的重要工具。通过模拟真实的...

    Windows平台搭建OpenACS测试环境_步骤

    在Windows平台上搭建OpenACS测试环境是一项技术性较强的工作,OpenACS是一个开源的网络应用程序开发框架,主要用于构建社区、教育和协作应用。以下是一份详细的步骤指南,帮助你完成这一过程。 1. **环境准备** - ...

    ACS712中文资料

    ### ACS712中文资料详解 #### 一、ACS712概述 ACS712是一种集成化的电流检测芯片,广泛应用于各种电子设备中的电流监控系统。它采用霍尔效应技术来实现对电流的非接触式测量,具有高精度、低功耗的特点,并且能够...

    ACS.rar_ACS TSP_ACS 蚁群算法_acs_ant class_ant colony system

    《ACS蚁群算法在解决TSP问题中的应用》 蚁群算法(Ant Colony Optimization, ACO)是一种模拟自然界蚂蚁寻找食物路径的优化算法,由Marco Dorigo在1992年提出。它以生物群体行为为基础,通过迭代过程在全球范围内...

    Cisco Secure ACS 4.0

    **Cisco Secure ACS 4.0** 是一款由Cisco Systems开发的身份认证、授权和计费(AAA)解决方案,专为网络访问控制设计。该系统在网络安全领域扮演着至关重要的角色,确保只有经过验证的用户和设备能够接入网络资源,...

    Cisco Secure ACS V3.2

    《Cisco Secure ACS V3.2:深度解析与应用实践》 Cisco Secure ACS(Access Control System)是一款由Cisco公司推出的强大的安全访问控制系统,主要用于网络访问控制和身份验证管理。该系统的核心功能是确保只有...

    ACS732.pdf

    ACS732和ACS733电流传感器系列提供1MHz带宽,具有闪电般的210nS快速响应时间,可用于汽车,工业,商业和通信系统中的AC或DC电流检测。该设备专为高频开关应用而设计,可用于替代高频电流互感器。 ACS732和ACS733...

Global site tag (gtag.js) - Google Analytics