⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 axlmanager.java

📁 Example of using Cisco Call Manager AXL service
💻 JAVA
字号:
package org.caixapenedes.updlocation.core.axl;
import java.io.ByteArrayInputStream;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.caixapenedes.updlocation.core.UpdLocation;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;


public class AXLManager {
	
	public enum AXLResponse {
		CCM_OK,
		CCM_ERROR
	}

	public static final String INIENV = "<SOAP-ENV";
	

	private DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
	private String callManager;
	private String axlUser;
	private String axlPassword;
	private String axlPort;
	
	public AXLManager( String callManager, String axlPort, String axlUser, String axlPassword) 
	{
		// if the "callManager" is a list of server, just use the first one
		int semiPos = callManager.indexOf(';'); 
		if (semiPos >= 0) {
			callManager = callManager.substring(0,semiPos);
		}
		this.callManager = callManager;
		this.axlPort = axlPort;
		this.axlUser = axlUser;
		this.axlPassword = axlPassword;
	}	
	
	private AXLResponse parseAXLResponse( String response ) {
		int iniEnv =  response.indexOf( INIENV );
		if ( iniEnv != -1){
			String aux = response.substring( iniEnv,  response.length() );
			DocumentBuilder db;
			try {
				db = dbf.newDocumentBuilder();
				InputStream is = new ByteArrayInputStream(aux.getBytes());
				Document xmlDoc = db.parse(is);
				NodeList returnnl = xmlDoc.getElementsByTagName("return");
				if (( returnnl != null )&&( returnnl.item(0) != null )){
					   return AXLResponse.CCM_OK;
				}
				
				NodeList errornl = xmlDoc.getElementsByTagName("axl:Error");
				if (errornl != null && errornl.toString().length() > 0) {
					String code = xmlDoc.getElementsByTagName("axl:code").item(0).getFirstChild().getNodeValue();
					UpdLocation.logger.error("Error code: " + code + response);
				}
				return AXLResponse.CCM_ERROR;
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		UpdLocation.logger.error("Error response: " + response);
		return AXLResponse.CCM_ERROR;		
		
		
	}
	

	public AXLResponse updateLocation( String locationName, String kbits){
		UpdLocationReq updLocationReq = new UpdLocationReq(axlUser, axlPassword,axlPort,callManager,locationName, kbits);		
		String response = updLocationReq.sendRequest();
		return parseAXLResponse( response );
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -