📄 axlmanager.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 + -