有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将JCo项目部署到SCP时发生java错误

我正在尝试将RFC连接到Eclipse中的动态Web项目。该项目将部署到SCP,我在SCP上添加了一个目标,如下所示:

Destination

该项目包含一个Servlet,它执行下面的代码,这两个代码结合起来就可以很好地工作

        protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
        {

            PrintWriter responseWriter = response.getWriter();       

            try
            {   
                JCoDestination destination = JCoDestinationManager.getDestination("jcodemo");  
                JCoRepository repo = destination.getRepository();
                JCoFunction rfcConnection = repo.getFunction("ZRFM_GET_EQUIPMENTS");
                rfcConnection.execute(destination);

                responseWriter.println("<html><head>");                 
                responseWriter.println("</head><body>");
                responseWriter.println("<p>Test</p>");
                responseWriter.println("</body></html>");

            }

        }

我想在运行时更改目标(以允许用户使用自己的帐户),因此我添加了一个DestinationDataProvider。它用于制作自定义目的地的多个指南中。(我将其留空以节省一些空间,其功能在这里并不重要。)

public class DestProvider implements DestinationDataProvider {

@Override
public Properties getDestinationProperties(String arg0) throws DataProviderException {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void setDestinationDataEventListener(DestinationDataEventListener arg0) {
    // TODO Auto-generated method stub

}

@Override
public boolean supportsEvents() {
    // TODO Auto-generated method stub
        return false;
    }

}

为了让Eclipse识别导入com.sap.conn.jco.ext.DestinationDataProvider,我添加了SAPJCo3。jar作为项目的参考。在这部分之前我不需要导入

Reference

我将这段代码添加到我的Servlet以实例化一个。第二次我在Servlet中引用它时,该网页返回一个500错误

DestProvider d = new DestProvider();

我试过各种方法,但总是出错。Java应用程序的日志也是空的,所以我不知道如何继续。任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    您不能在SAP云平台上注册自己的DestinationDataProvider。 sapjco3.jar是独立的SAP Java连接器,不适合在SCP上使用/部署。这个平台已经配备了所有必要的构件,包括一个特殊的JCo客户端版本。通过连接SAP云连接器的TLS隧道,实现与内部SAP系统的RFC连接

    也许本教程有助于理解体系结构以及如何在SAP云平台上使用JCo RFC:
    https://www.sap.com/germany/developer/tutorials/hcp-scc-onpremise-extension-jco-rfc.html

    对于自定义JCo目的地,您应该能够使用类JCoCustomDestination,该类允许切换用户登录凭据,但不能更改定义目标SAP系统的登录参数