CollTuxedoByNodeBSoapHelper.java 11.1 KB
package com.sitech.ismp.coll.tivoli;


public class CollTuxedoByNodeBSoapHelper {
//可能是命名的关系,把<object>和<target>中的“TUXEDO”都替换成“TSAINFO”试一下
	//private static String HUB_NAME=SoapParam.getString("HUB_NAME");
	private static String USER ="sysadmin";
	private static String PASSWORD= SoapParam.getString("PASS");	
	

		/**
		 * PM-00-04-001-01	客户端连接的队列个数	交易中间件用于响应客户端请求的进程队列个数
		 * PM-00-04-001-02	服务个数	交易中间件提供的服务的总数
		 * lianlian 2006-09-11
		 * BBSTATS		MetricValue		LocalTimeStamp
		 * @param host_name
		 * @return
		 */
		public static String getSoap_performance_TUXEDOBBSTATS00( String host_name)
		{
			StringBuffer result = new StringBuffer();
			String OBJECT="TSBINFOBBSTATS00";
			result.append("	<CT_Get>                                  ");
			//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
			result.append("		<object>"+OBJECT+"</object>  		  ");
			result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
			result.append("		<userid>"+USER+"</userid> 			  ");
			result.append("		<password>"+PASSWORD+"</password>     ");
			result.append("		<history>N</history>                  ");
			//attributes
			result.append("		<attribute>	BBSTATS	</attribute>  ");
			result.append("		<attribute>	MetricValue	</attribute>  ");
			result.append("		<attribute>	LocalTimeStamp	</attribute>  ");
			result.append("	</CT_Get>                                 ");
			return result.toString();	
		}
		/**
		 * PM-00-04-001-03	队列等待数	交易中间件工作队列排队数		ProgramName		QueueName		WorkQueued		MachineName
		 * PM-00-04-001-04	进程队列中消息个数	应用进程队列中消息个数	ProgramName		QueueName		NumQueued		MachineName
		 * FM-00-04-001-03	客户端连接的队列个数	交易中间件用于响应客户端请求的进程队列个数	ProgramName		QueueName		WorkQueued		MachineName
		 * lianlian 2006-09-11
		 * @param host_name
		 * @return
		 */
			public static String getSoap_performance_TUXEDOQUEUESINFO00( String host_name)
			{
				StringBuffer result = new StringBuffer();
				String OBJECT="TSBINFOQUEUESINFO00";
				result.append("	<CT_Get>                                  ");
				//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
				result.append("		<object>"+OBJECT+"</object>  		  ");
				result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
				result.append("		<userid>"+USER+"</userid> 			  ");
				result.append("		<password>"+PASSWORD+"</password>     ");
				result.append("		<history>N</history>                  ");
				result.append("		<attribute>ProgramName     </attribute>  ");
		        result.append("		<attribute>QueueName       </attribute>   ");
		        result.append("		<attribute>NumServer       </attribute>   ");
		        result.append("		<attribute>WorkQueued      </attribute>   ");
		        result.append("		<attribute>NumQueued        </attribute>   ");
		        result.append("		<attribute>AverageLength    </attribute>   ");
		        result.append("		<attribute>MachineName      </attribute>   ");
		        result.append("		<attribute>LocalTimeStamp </attribute>   ");
				result.append("	</CT_Get>                                 ");
				return result.toString();	
			}
			/**
			 * PM-00-04-001-05	应用进程负载	每个应用进程得到数据的服务调用的次数
			 * FM-00-04-001-02	中间件可用性	中间件代理服务是否正常启动并处于可用状态
			 * lianlian 2006-09-11
			 * @param host_name
			 * @return
			 */
	public static String getSoap_performance_TUXEDOSERVERPROCINFO00( String host_name)
	{
		StringBuffer result = new StringBuffer();
		String OBJECT="TSBINFOSERVERPROCINFO00";
		result.append("	<CT_Get>                                  ");
		//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
		result.append("		<object>"+OBJECT+"</object>  		  ");
		result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
		result.append("		<userid>"+USER+"</userid> 			  ");
		result.append("		<password>"+PASSWORD+"</password>     ");
		result.append("		<history>N</history>                  ");
		result.append("		<attribute> ProgramName                   </attribute>  ");
        result.append("		<attribute> QueueName                     </attribute>   ");
        result.append("		<attribute> GroupName                     </attribute>   ");
        result.append("		<attribute> ID                            </attribute>   ");
        result.append("		<attribute> RequestDone                    </attribute>   ");
        result.append("		<attribute> LoadDOne                       </attribute>   ");
        result.append("		<attribute> CurrentService                 </attribute>   ");
        result.append("		<attribute> LocalTimeStamp               </attribute>   ");
        result.append("	</CT_Get>  ");
		return result.toString();	
	}
	/**
	 * FM-00-04-001-01	应用服务状态(可选)	服务是否正常启动并处于可用状态
	 * lianlian 2006-09-11
	 * @param host_name
	 * @return
	 */
	public static String getSoap_performance_TUXEDOPRINTSERVICE00(String host_name)
	{
		StringBuffer result = new StringBuffer();
		String OBJECT="TSBINFOPRINTSERVICE00";
		result.append("	<CT_Get>                                  ");
		//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
		result.append("		<object>"+OBJECT+"</object>  		  ");
		result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
		result.append("		<userid>"+USER+"</userid> 			  ");
		result.append("		<password>"+PASSWORD+"</password>     ");
		result.append("		<history>N</history>                  ");
		//咨询过IBM,ServiceName是应用服务名称。
		result.append("		<attribute> ServiceName </attribute>  ");
		//result.append("		<attribute> ProgramName </attribute>  ");
        result.append("		<attribute> Status     </attribute>   ");
        result.append("		<attribute> LocalTimeStamp</attribute>   ");        
        result.append("	</CT_Get>  ");
		return result.toString();	
	}
	
	/**
	 * CM-00-04-001-01	中间件最大并发连接数	与数据库连接数
	 * CM-00-04-001-02	中间件最大并发网络客户端数量	与客户端连接数
	 * lianlian 2006-09-11
	 * BBPARMS		MetricValue		LocalTimeStamp
	 * @param host_name
	 * @return
	 */
		public static String getSoap_configuration_TUXEDOBBPARAMS00(String host_name )
		{
			StringBuffer result = new StringBuffer();
			String OBJECT="TSBINFOBBPARAMS00";
			result.append("	<CT_Get>                                  ");
			//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
			result.append("		<object>"+OBJECT+"</object>  		  ");
			result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
			result.append("		<userid>"+USER+"</userid> 			  ");
			result.append("		<password>"+PASSWORD+"</password>     ");
			result.append("		<history>N</history>                  ");
			//attributes
			result.append("		<attribute>	BBPARMS	</attribute>  ");
			result.append("		<attribute>	MetricValue	</attribute>  ");
			result.append("		<attribute>	LocalTimeStamp	</attribute>  ");
			result.append("	</CT_Get>                                 ");
			return result.toString();	
		}
		/**
		 * CM-00-04-01-03	中间件的系统日志路径	中间件的系统日志路径
		 * CM-00-04-01-04	中间件的用户日志路径	中间件的用户日志路径
		 * lianlian 2006-09-11
		 * @param host_name
		 * @return
		 */
		public static String getSoap_configuration_TSBINFOLOGPATH00(String host_name)
		{
			StringBuffer result = new StringBuffer();
			String OBJECT="TSBINFOLOGPATH00";
			result.append("	<CT_Get>                                  ");
			//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
			result.append("		<object>"+OBJECT+"</object>  		  ");
			result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
			result.append("		<userid>"+USER+"</userid> 			  ");
			result.append("		<password>"+PASSWORD+"</password>     ");
			result.append("		<history>N</history>                  ");
			//attributes
			result.append("		<attribute>	SysLogPath	</attribute>  ");
			result.append("		<attribute>	UserLogPath	</attribute>  ");
			result.append("	</CT_Get>                                 ");
			return result.toString();
		}
		
		
		/**
		 * PM-00-04-01-06	客户端活动连接数	正在执行操作的客户端连接个数		ClientName
		 * lianlian 2006-09-11
		 * @param host_name
		 * @return
		 */
		public static String getSoap_performance_TUXEDOCLIENTSPROCINFO00(String host_name)
		{
			StringBuffer result = new StringBuffer();
			String OBJECT="TSBINFOCLIENTSPROCINFO00";
			result.append("	<CT_Get>                                  ");
			//result.append("		<hub>"+HUB_NAME+"</hub>    			  ");
			result.append("		<object>"+OBJECT+"</object>  		  ");
			result.append("	    <target>"+host_name+":TSBINFO00</target>	  ");
			result.append("		<userid>"+USER+"</userid> 			  ");
			result.append("		<password>"+PASSWORD+"</password>     ");
			result.append("		<history>N</history>                  ");
			//attributes
			result.append("		<attribute>	ClientName	</attribute>  ");
			result.append("		<attribute>	LocalTimeStamp	</attribute>  ");
			result.append("	</CT_Get>                                 ");
			return result.toString();
		}

	public static void main(String[] args)throws Exception{
		
		//String host_name="ONEBOSS1";  //大小写敏感
		String host_name="AS2";  //大小写敏感
	
		
		System.out.println(getSoap_performance_TUXEDOBBSTATS00(host_name));
		//System.out.println(getSoap_performance_TUXEDOBBSTATS00(host_name));
		//System.out.println(getSoap_performance_TUXEDOQUEUESINFO00(host_name));
		//System.out.println(getSoap_performance_TUXEDOSERVERPROCINFO00(host_name));
		//System.out.println(getSoap_performance_TUXEDOCLIENTSPROCINFO00(host_name));
		//getSoap_performance_TUXEDOPRINTSERVICE00
		//getSoap_performance_TUXEDOCLIENTSPROCINFO00
		//System.out.println(getSoap_performance_TUXEDOPRINTSERVICE00(host_name));
		
		//getSoap_configuration_TSBINFOLOGPATH00
		//System.out.println(getSoap_configuration_TSBINFOLOGPATH00(host_name));
		
		/*String soapurl = "http://10.110.16.201:1920///cms/soap";
		SoapClient soapClient = new SoapClient(soapurl);
		
		String soap_performance_TUXEDOQUEUESINFO00 = CollTuxedoSoapHelper.getSoap_performance_TUXEDOQUEUESINFO00(host_name);  //soap消息
		//发送soap请求,并返回结果
		String soap_performance_TUXEDOQUEUESINFO00_res = soapClient.getSoapStringResponse(soap_performance_TUXEDOQUEUESINFO00);
		//分析返回结果,得到list
		List TUXEDOQUEUESINFO00_results = CollTuxedoXmlHelper.parseCommonSoapResponse(soap_performance_TUXEDOQUEUESINFO00_res);
		int intNumQueued = 0;
		int intNumServer = 0;
		
		for(int i=0;i<TUXEDOQUEUESINFO00_results.size();i++)
		{
			Map rowMap = (Map)TUXEDOQUEUESINFO00_results.get(i);
			String NumQueued = (String)rowMap.get("NumQueued");
			String NumServer = (String)rowMap.get("NumServer");
			intNumQueued = intNumQueued + Integer.parseInt(NumQueued);
			intNumServer = intNumServer + Integer.parseInt(NumServer);
		}
		System.out.println("NumQueued = " + intNumQueued);
		System.out.println("NumServer = " + intNumServer);
		System.out.println("NumQueued - NumServer = " + (intNumQueued-intNumServer));*/
	}
}