如何通过部署在SCP上的Java使用HTTP目标

2020-09-01 12:38发布

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

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


嗨,

任何想法如何从部署在 SCP 上的Java 应用程序中使用 HTTP目标(XSJS服务)? XSJS服务通过基本身份验证受到保护。 我知道当不涉及身份验证时,如何使用HTTP目标就可以了。 我希望能够在启用基本身份验证的情况下使用它。 Java应用程序的运行时环境为 Tomcat 8 。 我找不到描述该过程的任何示例或教程。

neo-java-web-sdk-3连接示例应用程序使用HTTP目标并且没有基本身份验证就可以了,但是对于受基本身份验证保护的任何目标,它返回状态401(未经授权):(

官方文档未提供Tomcat 8运行时的任何示例。 仅适用于Java EE 6。

非常感谢您的帮助!

谢谢

彼得

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

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


嗨,

任何想法如何从部署在 SCP 上的Java 应用程序中使用 HTTP目标(XSJS服务)? XSJS服务通过基本身份验证受到保护。 我知道当不涉及身份验证时,如何使用HTTP目标就可以了。 我希望能够在启用基本身份验证的情况下使用它。 Java应用程序的运行时环境为 Tomcat 8 。 我找不到描述该过程的任何示例或教程。

neo-java-web-sdk-3连接示例应用程序使用HTTP目标并且没有基本身份验证就可以了,但是对于受基本身份验证保护的任何目标,它返回状态401(未经授权):(

官方文档未提供Tomcat 8运行时的任何示例。 仅适用于Java EE 6。

非常感谢您的帮助!

谢谢

彼得

付费偷看设置
发送
4条回答
闻人可可
1楼 · 2020-09-01 12:45.采纳回答

我设法解决了自己的问题。 我意识到我可以访问目标属性以获取凭据,然后只需使用标准Java:

 BASE64Encoder enc =新的sun.misc.BASE64Encoder();
 字符串userpassword = destConfiguration.getProperty(" User")+":" + destConfiguration.getProperty(" Password");
 字符串encodingAuthorization = enc.encode(userpassword.getBytes());
 urlConnection.setRequestProperty(" Authorization"," Basic" + encodeAuthorization);
 

快乐的日子!

欢呼

Peter

lukcy2020
2楼-- · 2020-09-01 13:03

嗨,彼得

我有相同的要求,即使用带有基本身份验证的目标从我们的应用程序调用SAP的Gsap(本地)。 我完成了与您相同的编码,但出现了SSL握手问题。 您曾经遇到过这个问题吗? 请帮助我们。

sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径

谢谢。

黑丝骑士
3楼-- · 2020-09-01 13:03

您只需要在目标配置中切换到基本身份验证,并提供用户名和密码。 那么与使用未经身份验证的HTTP目标应该没有什么区别。

CPLASF-自律
4楼-- · 2020-09-01 12:51

您是否使用"其他属性"存储用户名/密码或左侧的字段?

一周热门 更多>