org.w3c.www.protocol.http.HttpException:连接重置

2020-08-22 17:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我对SAP世界来说还很陌...

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

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


嗨,

我对SAP世界来说还很陌生。 我需要您的帮助以了解我当前面临的问题。

我在SAP MII中添加了自定义操作,该操作将与身份验证系统连接并从OAuth获取令牌。 简单的Java可以按预期工作,但是当我添加与自定义操作相同的类时,出现连接重置错误。

日志:

  • 19:30:56.103 [INFO] [GetOauthToken_0]已完成对:XXXXXXXXXX的OAuth令牌
  • 19:30:56.170 [ERROR] [GetOauthToken_0]执行OAuth时发生异常:org.w3c.www.protocol.http.HttpException:连接重置

代码:

HttpURLConnection conn =(HttpURLConnection)url.openConnection(); conn.setDoOutput(true); 字符串authStr = sClientId +":" + sSecret; instance.log( LogLevel.INFO ," OAuth令牌客户端ID:" + sClientId); 字符串encodingAuth = DatatypeConverter.printBase64Binary(authStr.getBytes(" UTF-8")); conn.setRequestMethod(" POST"); conn.setRequestProperty(" Authorization"," Basic" + encodingAuth); conn.setRequestProperty(" Content-Length",Integer.toString(postDataLength)); conn.getOutputStream()。write(postData); instance.log( LogLevel.INFO ,"已完成以下操作的OAuth令牌:" + sClientId); 中的Reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); for(int c;(c = in.read())> = 0;){sb.append((char)c); }

任何输入均受到高度赞赏。

9条回答
土豆飞人
2020-08-22 17:59

您可能想研究使用Netweaver Destinations,但可能会遇到相同的TLS版本问题。

您可以 还要围绕Netweaver Java API进行研究,有时SAP拥有自己的自定义功能来处理可能还没有该核心JRE版本的东西等等。

在处理自定义操作时,有一个 没什么可考虑的。

  1. 在开发环境中尝试并使用与目标系统相同的 exact Java版本。
  2. 相同 适用于您可能要在服务器上使用的库版本。
  3. 您的自定义操作将在服务器上运行,并且与Netweaver运行的任何系统用户/上下文一样。
  4. 仅供参考,您的"无法将类com.sap.engine.httpdsrclient.protocols.instrumented.https.DSRHttpsURLConnection强制转换为类javax.net.ssl.HttpsURLConnection"错误通常是由于Java API发生了更改 一些 指向HttpsURLConnection,因此请确保所有版本均已排序。

    致谢,
    Christian

一周热门 更多>