ibi.telnet.api.TnDriverException:连接已关闭

时间:2013-11-19 21:54:42

标签: java telnet

我正在尝试使用iway telnet通过java连接到大型机,这是连接代码:

public static Session conexion(String nodo,int port) throws TnDriverException {
        TnDriver driver = new TnDriver();
        driver.setHost(nodo);
        driver.setPort(port);
        driver.setEmulation(Terminal.TN_3270);
        driver.setTraceOn(false);
        driver.setExtendedAttributes(true);
        driver.setLanguage("Cp037");
        driver.setTimerTimeout(25);
        driver.setTimerOn(true);
        session = driver.getSession();
        logger.info("CONNECTED TO MAINFRAME.");
        return session;
    }

在连接到大型机的过程中,我在第一个屏幕中收到下一个异常:

ibi.telnet.api.TnDriverException: Connection is closed...
        at ibi.telnet.api.Session.waitFor(Session.java:453)
        at ibi.telnet.api.Session.waitFor(Session.java:393)
        at ibi.telnet.api.Session.waitFor(Session.java:312)
        at 
tn3270.GestionPantallas.identificaPantalla(GestionPantallas.java:73)
        at 
tn3270.CertificacionSindo.getTransaccion(CertificacionSindo.java:67)
        at 
ws.Pensiones.obtenerCertificacion(Pensiones.java:41)
        at sun.reflect.GeneratedMethodAccessor486.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at weblogic.wsee.component.pojo.JavaClassComponent.invoke(JavaClassComponent.java:99)
        at weblogic.wsee.ws.dispatch.server.ComponentHandler.handleRequest(ComponentHandler.java:64)
        at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:137)
        at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:109)
        at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
        at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
        at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
        at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:257)
        at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:156)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
        at  weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

这就是GestionPantallas类中的识别方法,其中conexion方法是。

public static int identificaPantalla(ScreenDesc[] pantallas) throws TnDriverException {
        int result = -1;
        try {
            result = session.waitFor(pantallas);
        }
        catch(TnDriverException e) {
            throw e;
        }
        return result;
    }

关于这个问题的任何想法?

0 个答案:

没有答案