ABAP和Java的destination和JNDI

Netweaver里使用事务码SM59创建Destination:

Java

新建一个destination:

测试代码:


try {
            Context ctx = new InitialContext();
            ConnectivityConfiguration configuration = (ConnectivityConfiguration) ctx.lookup("java:comp/env/connectivityConfiguration");

            DestinationConfiguration destConfiguration = configuration.getConfiguration(destinationName);

            if (destConfiguration == null) {
                response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                        String.format("Destination %s is not found. Hint:"
                                + " Make sure to have the destination configured.", destinationName));
                return;
            }

            // Get the destination URL
            String value = destConfiguration.getProperty("URL");
            URL url = new URL(value + "xml?origins=Walldorf&destinations=Paris");

            String proxyType = destConfiguration.getProperty("ProxyType");
            Proxy proxy = getProxy(proxyType);

            urlConnection = (HttpURLConnection) url.openConnection(proxy);

            injectHeader(urlConnection, proxyType);

            // Copy content from the incoming response to the outgoing response
            InputStream instream = urlConnection.getInputStream();
            OutputStream outstream = response.getOutputStream();
            copyStream(instream, outstream);
        } catch (Exception e) {
            // Connectivity operation failed
            String errorMessage = "Connectivity operation failed with reason: "
                    + e.getMessage()
                    + ". See "
                    + "logs for details. Hint: Make sure to have an HTTP proxy configured in your "
                    + "local environment in case your environment uses "
                    + "an HTTP proxy for the outbound Internet "
                    + "communication.";
            LOGGER.error("Connectivity operation failed", e);
            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                    errorMessage);
        }

通过JNDI获得destination配置的url:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

原文地址:https://www.cnblogs.com/sap-jerry/p/9029194.html

时间: 2024-11-06 03:43:49

ABAP和Java的destination和JNDI的相关文章

ABAP和Java里关于DEFAULT(默认)机制的一些语言特性

ABAP 740的新语法: 上图的代码相当于: DATA: ls_data LIKE LINE OF it_data. READ TABLE it_data INTO ls_data WITH KEY object_ext = cl_crm_prodil_bo_names=>gc_prod_root. CALL METHOD add_data EXPORTING ir_child_object = ir_root_object is_data = ls_data. 由此可见新语法比较简洁,能少写

ABAP vs Java, 蛙泳 vs 自由泳

去年7月定下的一年之内学会自由泳的目标终于实现了,特来还愿. ABAP和Java,?蛙泳和自由泳.前面的组合是Jerry用来挣钱养家的技术,后者是Jerry花了大量业余时间和金钱苦练的技能.或许有的朋友觉得这两组概念风马牛不相及,然而在Jerry眼中,ABAP之于Java, 相当于蛙泳之于自由泳. 文章目录 ABAP和Java的相同点 1. 语言特性 2. 开发框架,工具和生态圈 蛙泳和自由泳的相同点 ABAP(蛙泳)和Java(自由泳)的不同点 1.? "Java(自由泳)的环境搭建(游进)比

ABAP,Java, nodejs和go语言的web server编程

ABAP and Java see my blog. nodejs 用nodejs现成的express module,几行代码就能写个server出来: var express = require('express'); var routesEngine = require('./jerryapp/routes/index.js'); // index.js actually http://www.ruanyifeng.com/blog/2015/05/require.html var app

ABAP和Java的单元测试Unit Test

ABAP ABAP class单元测试的执行入口,CLASS_SETUP, 是硬编码在单元测试框架实现CL_AUNIT_TEST_CLASS里的. 待执行的单元测试方法通过CL_AUNIT_TEST_CLASS-get_Test_Methods返回到一个内表里,然后LOOP该内表,依次执行. Java 最常用的Maven plugin是maven-surefire-plugin,可以方便地单独触发单元测试,或者把单元测试的执行集成为Maven build的一个子步骤. 下图表明在执行mvn cl

ABAP,Java和JavaScript的序列化,反序列化

ABAP 1. ABAP提供了一个工具类cl_proxy_xml_transform,通过它的两个方法abap_to_xml_xstring和xml_xstring_to_abap实现两种格式的互换. REPORT zxm. DATA: ls_abap TYPE zzcrmost__pro001dotproduct1. DATA: ls_line LIKE LINE OF ls_abap-item. ls_line-logsys = 'AG3'. ls_line-object_family =

ABAP和Java SpringBoot的单元测试

ABAP 在ABAP类里,本地类(Local Class)里用关键字FOR TESTING声明过的方法, 在单元测试启动后会自动被调用到. Spring Boot 在Spring及Spring Boot "Convention over configuration"的设定思路里,放在路径src/test/java下面以Tests.java结尾的Java类会被当成单元测试类处理. 对上述项目执行命令行mvn clean install后,报错误消息: java.lang.IllegalS

关于<Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)>看后的一些总结-1

原文地址:https://www.anquanke.com/post/id/194384#h3-3 1.java rmi 关于rmi客户端和服务端通信的过程,java的方法都实现在rmi服务端,客户端实际上是通过访问rmi注册表拿到stub,然后再通过它调用服务端方法,那么调用方法时要传递参数,参数可以为一般类型,也可以为引用类型,那么如果为引用类型,就能够利用服务端已经有的gaget chain来打server,因为参数实际上是序列化传输的,那么数据到达服务端后必定会经过反序列化. 客户端:

Java学习——何为JNDI

曾记得在做机房收费系统的时候就接触到了API,由于它的功能很强大,但是自己对它却不怎么了解,所以当时是又爱又怕.如今,一路走来才明白,其实它就是一组接口.只要我们去了解它就会发现,它其实也没想的那么可怕.今天我们来看一下java中的接口--JNDI. 概念 Java命名和目录接口(Java Naming and Directory Interface,JNDI)是用于从Java应用程序中访问名称和目录服务的一组API.命名服务即将名称与对象相关联,以便能通过相应名称访问这些对象.而目录服务即其对

java总结(三)——jndi在j2ee和j2se中的应用

JNDI,Java命名和目录接口,允许应用程序通过公共接口访问各种命名和目录服务.下图显示了JNDI架构.如JDBC(Java数据库连接),JNDI是不是服务,而是一组接口; 它允许应用程序使用一个标准化的API来访问许多不同的目录服务供应商.就像使用JDBC,那么JDK包含了JNDI接口,但不包括JNDI服务提供者 - 尽管Sun Microsystems公司提供的适配器,用于连接到现有的目录服务供应商,如LDAP(轻量级目录访问协议),DNS(域名服务)和CORBA.但是,您可以使用多种免费