首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Agent Controller XML解析出错.情!

2011-12-19 
Agent ControllerXML解析出错.情高手指点!!我在用AgentController进行远程的数据收集时client端用的JAVA,a

Agent Controller XML解析出错.情高手指点!!
我在用Agent   Controller   进行远程的数据收集时   client   端用的JAVA   ,agent   端用的c++.出现如下错误,程序最终还是可以得出结果.但速度很慢,大概要5到8分钟,这显然不能达到要求.   但我在client   端用c++   写的程序却可以很好的跟agent通信....
我的环境:winxp   +sp2   ,   agntctrl.win_ia32-TPTP-4.2.1.rar   ,   tptpdc.win_ia32-TPTP-4.2.1.zip
j2sdk1.4.2_07   ,   VC++6.0   .
不知道为什么无法解析XML,
下面是出错信息和部分代码:
Connecting   to   Host   localhost
Connecting   to   AC..
Connected   to   localhost   at   port   number   10006
org.xml.sax.SAXParseException:   下一个字符必须是 "> "   终止组件   "Cmd "。
at   org.apache.crimson.parser.Parser2.fatal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.fatal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.nextChar(Unknown   Source)
at   org.apache.crimson.parser.Parser2.maybeElement(Unknown   Source)
at   org.apache.crimson.parser.Parser2.parseInternal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.parse(Unknown   Source)
at   org.apache.crimson.parser.XMLReaderImpl.parse(Unknown   Source)
at   javax.xml.parsers.SAXParser.parse(Unknown   Source)
at   org.eclipse.tptp.platform.execution.util.internal.TPTPXMLParse.setParser(TPTPXMLParse.java:105)
at   org.eclipse.tptp.platform.execution.client.core.internal.ControlMessage.readACCommands(ControlMessage.java:421)
at   org.eclipse.tptp.platform.execution.client.core.internal.ControlMessage.readFromBuffer(ControlMessage.java:301)
at   org.eclipse.tptp.platform.execution.client.core.internal.ConnectionImpl.processControlMessage(ConnectionImpl.java:803)
at   org.eclipse.tptp.platform.execution.client.core.internal.ConnectionImpl$SocketReaderThread.run(ConnectionImpl.java:1021)
org.xml.sax.SAXParseException:   下一个字符必须是 "> "   终止组件   "Cmd "。
at   org.apache.crimson.parser.Parser2.fatal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.fatal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.nextChar(Unknown   Source)
at   org.apache.crimson.parser.Parser2.maybeElement(Unknown   Source)
at   org.apache.crimson.parser.Parser2.parseInternal(Unknown   Source)
at   org.apache.crimson.parser.Parser2.parse(Unknown   Source)
at   org.apache.crimson.parser.XMLReaderImpl.parse(Unknown   Source)
at   javax.xml.parsers.SAXParser.parse(Unknown   Source)
at   org.eclipse.tptp.platform.execution.util.internal.TPTPXMLParse.setParser(TPTPXMLParse.java:105)
at   org.eclipse.tptp.platform.execution.client.core.internal.AgentController.getAgent(AgentController.java:279)
at   org.eclipse.tptp.platform.execution.client.core.internal.AgentController.getAgent(AgentController.java:193)
at   org.eclipse.tptp.platform.execution.samples.SampleClientAC.main(SampleClientAC.java:92)
org.eclipse.tptp.platform.execution.exceptions.TimeoutException:   Launching   Process   command   timed   out.
at   org.eclipse.tptp.platform.execution.client.agent.internal.AgentImpl.startMonitoring(AgentImpl.java:438)
at   org.eclipse.tptp.platform.execution.samples.SampleClientAC.main(SampleClientAC.java:101)

Client   断JAVA程序代码:
public   Tsdriver   (String   localhost,int   port){

this.localhost=localhost;
this.port=port;
//System.out.println( "Connecting   to   Host:   "+   this.localhost   + "   port: "+this.port);
创建一个AC节点
INode   SampleNode   =   null;

IAgentController   ac   =   null;


//实现信息通道(AC与CLIENT之间)
ConnectionInfo   connInfo   =   new   ConnectionInfo();

try
{
//连接到目标机,hostName相当于目标机的ip地址
SampleNode   =   NodeFactory.createNode(localhost);
connInfo.setHostName(localhost);
connInfo.setPort(port);
if   (SampleNode   !=   null)
{

System.out.println( "连接到   AC.. ");
//实例AC
ac   =   SampleNode.connect(connInfo);
this.ac=ac;
System.out.println( "连接的目标机名:   "   +this.localhost   +   "   端口号:   "   +   this.port);
}
else
{
System.out.println( "当连接 "   +   localhost+ "目标机时出错!! ");
}

String   a= "org.eclipse.tptp.AgentCollector ";
String   b= "org.eclipse.tptp.platform.execution.client.agent.ICollector ";
ICollector   AgentCollector   =   (ICollector)ac.getAgent(a,b);   //这个地方很慢

this.AgentCollector=AgentCollector;

if(AgentCollector   ==   null){
System.out.println( "该AGENT不存在,请重新确认! ");   return;
}


//为AgentCollector添加数据监听和数据处理对象dataProcessor
((IAgent)AgentCollector).startMonitoring(TPTPDataPath.DATA_PATH_TWO_WAY);   //这个地方也很慢


ClientDataProcessor   dp=   new   ClientDataProcessor();
AgentCollector.addDataListener(dp);

}
catch(Exception   exp)
{
System.out.println( "连接此目标机的时候出错:   "   +   localhost   +   ": "   +   exp);
}

}

[解决办法]
关注
[解决办法]
学习,楼主问的好啊!

热点排行