点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我的要求是将带有加密卡数据(卡号,有效期,有效期,持有人姓名和信用卡)的SOAP请求发送到支付卡站点。
在将SOAP请求发送到支付卡站点之前,需要按照客户端加密对卡数据进行加密。 为了对其进行加密,他们提供了一个Java脚本,该脚本将对卡数据以及在付款卡站点提供的我们帐户中配置的公钥进行加密。
javascript将提供需要包含在SOAP请求中的密钥字符串。
示例SOAP请求,
在上述SOAP请求中,Java脚本需要与卡数据分开执行,并将提供Key字符串,该字符串必须包含在主SOAP请求中。
请就如何在主SOAP请求中执行Java加密卡脚本为您提供专家帮助。
非常感谢
Melchior
嗨
已经在下面的线程中对此进行了解答
https://answers.sap.com/questions/11907760/index.html
https://blogs.sap.com/2012/12/14/pgp-encrypting-part-of-an-xml-message/
致谢
Vikas
感谢您的回复Vikas。
根据法规,我们不能使用PGP加密。
我们的付款网站提供了一个JavaScript,以使用为我们的帐户定义的密钥对卡数据进行加密。 我的要求是通过执行卡片提供的java脚本和密钥来加密卡数据,并且输出密钥字符串需要包含在对付款站点的主要SOAP请求中。
请提供有关如何在SAP PI/PO中运行javascript进行数据加密的建议
非常感谢
MP
也许可以尝试使用Java映射来实现。 请检查您是否能够从Java程序调用Java脚本。 您可以使用Google来检查如何从Java代码调用JavaScript。
https://stackoverflow.com/questions/22856279/call-external-javascript-functions-from-java-code
嗨,
为此,您需要具备以下条件(您必须 擅长Java)。
1。 JavaScript放在一个文件中
2。 读取Java代码中的javascript文件。(我的选择是使用UDF,因为它只是一个字段,并在该字段上应用udf)。.
3。 编写UDF以读取外部文件可能是一件繁琐的工作,因此您可以使用完整的Java代码
导入javax.script。*;
公共类InvokeScript
{
公共静态void main(String [] args)引发异常
{
< p> ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName(" JavaScript");
engine.eval(Files.newBufferedReader(Paths.get(" usr/sap/home/myjavascriptfile.js") ,StandardCharsets.UTF_8));
可调用inv =(可调用)引擎;
对象obj = inv.invokeFunction(" functioninJavaSript","要加密的字段值");
返回obj.toString()
}
一周热门 更多>