JCO连接错误

2020-08-21 04:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了一个简单的Jco,如下所示,它可以在Eclipse中工作。

静态字符串DESTINATION_NAME2 =" ABAP_AS_WITH_POOL";
 静态的 {
 System.out.println("开始");
 属性connectProperties = new Properties();
 connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST," 10.10.9.160");
 connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR," 00");
 connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT," 400");
 connectProperties.setProperty(DestinationDataProvider.JCO_USER," HT0013");
 connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD," qasw_2468");
 connectProperties.setProperty(DestinationDataProvider.JCO_LANG," en");
 createDestinationDataFile(DESTINATION_NAME1,connectProperties);
 connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY," 3");
 connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT," 10");
 createDestinationDataFile(DESTINATION_NAME2,connectProperties);
 }
 ArrayList  codelist =新的ArrayList ();
     CompanyRecord codeItem = new CompanyRecord();
     JCoDestination destination1;
     JCoDestination destination = JCoDestinationManager.getDestination(DESTINATION_NAME2);
 

然后将其导出到war并复制到wildfly服务器。 部署成功,但是当我尝试使用它时。发生以下错误。

 2020-04-03 15:08:41,281信息[org.directwebremoting.log.accessLog](默认任务1)方法执行失败::java.lang.NoClassDefFoundError:无法初始化com.sap.conn类。 杰科
 在com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:104)
 在com.SCOfetch.JCOtest.step4QueryTable(JCOtest.java:239)
 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 在java.lang.reflect.Method.invoke(Method.java:498)
 在org.directwebremoting.impl.CreatorModule $ 1.doFilter(CreatorModule.java:172)
 在org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:184)
 在org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:353)
 在org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:306)
 在org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:110)
 在org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:211)
 在org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:185)
 在org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:144)
 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 在javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 在io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
 在io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
 在io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
 在org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)处
 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 在io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
 在io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 在io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
 在io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityCo
 

有人以前见过这个错误吗?我想知道这与sco.jar有关吗? 我已经安装了scojar。 安装后是否需要重新启动服务器?有人可以帮忙吗?谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了一个简单的Jco,如下所示,它可以在Eclipse中工作。

静态字符串DESTINATION_NAME2 =" ABAP_AS_WITH_POOL";
 静态的 {
 System.out.println("开始");
 属性connectProperties = new Properties();
 connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST," 10.10.9.160");
 connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR," 00");
 connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT," 400");
 connectProperties.setProperty(DestinationDataProvider.JCO_USER," HT0013");
 connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD," qasw_2468");
 connectProperties.setProperty(DestinationDataProvider.JCO_LANG," en");
 createDestinationDataFile(DESTINATION_NAME1,connectProperties);
 connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY," 3");
 connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT," 10");
 createDestinationDataFile(DESTINATION_NAME2,connectProperties);
 }
 ArrayList  codelist =新的ArrayList ();
     CompanyRecord codeItem = new CompanyRecord();
     JCoDestination destination1;
     JCoDestination destination = JCoDestinationManager.getDestination(DESTINATION_NAME2);
 

然后将其导出到war并复制到wildfly服务器。 部署成功,但是当我尝试使用它时。发生以下错误。

 2020-04-03 15:08:41,281信息[org.directwebremoting.log.accessLog](默认任务1)方法执行失败::java.lang.NoClassDefFoundError:无法初始化com.sap.conn类。 杰科
 在com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:104)
 在com.SCOfetch.JCOtest.step4QueryTable(JCOtest.java:239)
 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 在java.lang.reflect.Method.invoke(Method.java:498)
 在org.directwebremoting.impl.CreatorModule $ 1.doFilter(CreatorModule.java:172)
 在org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:184)
 在org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:353)
 在org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:306)
 在org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:110)
 在org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:211)
 在org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:185)
 在org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:144)
 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 在javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
 在io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
 在io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
 在io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
 在org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)处
 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 在io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
 在io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
 在io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
 在io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityCo
 

有人以前见过这个错误吗?我想知道这与sco.jar有关吗? 我已经安装了scojar。 安装后是否需要重新启动服务器?有人可以帮忙吗?谢谢。

付费偷看设置
发送
2条回答
吹牛啤
1楼-- · 2020-08-21 05:04

亲爱的瑞奇,

我认为文件中没有问题。 可能连接不成功,因此无法初始化连接对象。 请验证您指定的连接参数。

(DESTINATION_NAME2)

还请注意:您使用了destination1和destination ..两个不同的变量..可以吗?

 JCoDestination destination1;
  JCoDestination destination = JCoDestinationManager.getDestination(DESTINATION_NAME2);



 

您可能已经插入了一些system.out("此行的调试消息")并查看失败的地方。

在SAP端-检查SM59设置并测试 您为连接设置的参数是否正确?

 JCoDestination destination = JCoDestinationManager.getDestination(DESTINATION_NAME2);
         System.out.println(" Connectionn成功:");
         System.out.println(destination.getAttributes());
 
CPLASF-自律
2楼-- · 2020-08-21 04:53

问题解决了。我认为这是部署问题。 从Webcontent删除sapjco.jar和sapjco.dll,然后将dll复制到system32,现在可以正常使用了。

一周热门 更多>