如何从XSJS服务(服务到服务调用)调用内部HCP Servlet

2020-09-30 04:57发布

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

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


亲爱的

在HCP上,我创建了一个servlet来使用外部电子邮件帐户发送电子邮件。

现在,我想使用HTTP出站API从XSJS服务中调用此服务,但我正在努力使其正常工作。

首先,当我从Postman测试我的servlet时,它在没有身份验证或特定证书的情况下可以正常工作...

但是,当我从XSJS服务调用此服务时,没有得到任何响应,实际上,我得到的是HTTP代码302作为返回代码。 你知道为什么吗?

这是我的http目标的内容:

 description ="电子邮件";
 host =" myservletXXXac000000.hana.ondemand.com";
 端口= 443;
 proxyType = http;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =无;
 useSSL = true;
 sslHostCheck = false;
 

对于端口,我尝试了443和8443,但没有成功

这是我的XSJS代码:

 var dest = $ .net.http.readDestination(" courseducoeur.compagnon.services.anonymous"," servlet_mail");
 var client = new $ .net.http.Client();
//var req = new $ .net.http.Request($。net.http.POST,"/img/mail");
 var req = new $ .web.WebRequest($。net.http.POST,"/img/mail");

//req.headers.set("host"," cdcmailac478bd45.hana.ondemand.com");
 req.headers.set(" Content-Type"," application/json; charset = UTF-8");

 req.setBody(JSON.stringify(oData));
 client.request(req,dest);
 var response = client.getResponse();
 

在XS管理员端,我创建了一个新的信任库,并上传了从servlet页面下载的证书,其中包括域 hana.ondemand.com 。 在这里,我不确定这样做是否正确...

无论如何,经过多次尝试,我仍然收到此错误302。为什么? 我在使用正确的身份验证模式,端口,主机名吗?

在HCP中调用内部应用程序时真的需要密钥库吗? 什么是正确的过程?

预先感谢您的帮助!

最诚挚的问候,

Nico。

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

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


亲爱的

在HCP上,我创建了一个servlet来使用外部电子邮件帐户发送电子邮件。

现在,我想使用HTTP出站API从XSJS服务中调用此服务,但我正在努力使其正常工作。

首先,当我从Postman测试我的servlet时,它在没有身份验证或特定证书的情况下可以正常工作...

但是,当我从XSJS服务调用此服务时,没有得到任何响应,实际上,我得到的是HTTP代码302作为返回代码。 你知道为什么吗?

这是我的http目标的内容:

 description ="电子邮件";
 host =" myservletXXXac000000.hana.ondemand.com";
 端口= 443;
 proxyType = http;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =无;
 useSSL = true;
 sslHostCheck = false;
 

对于端口,我尝试了443和8443,但没有成功

这是我的XSJS代码:

 var dest = $ .net.http.readDestination(" courseducoeur.compagnon.services.anonymous"," servlet_mail");
 var client = new $ .net.http.Client();
//var req = new $ .net.http.Request($。net.http.POST,"/img/mail");
 var req = new $ .web.WebRequest($。net.http.POST,"/img/mail");

//req.headers.set("host"," cdcmailac478bd45.hana.ondemand.com");
 req.headers.set(" Content-Type"," application/json; charset = UTF-8");

 req.setBody(JSON.stringify(oData));
 client.request(req,dest);
 var response = client.getResponse();
 

在XS管理员端,我创建了一个新的信任库,并上传了从servlet页面下载的证书,其中包括域 hana.ondemand.com 。 在这里,我不确定这样做是否正确...

无论如何,经过多次尝试,我仍然收到此错误302。为什么? 我在使用正确的身份验证模式,端口,主机名吗?

在HCP中调用内部应用程序时真的需要密钥库吗? 什么是正确的过程?

预先感谢您的帮助!

最诚挚的问候,

Nico。

付费偷看设置
发送
2条回答
SAP砖家
1楼 · 2020-09-30 05:37.采纳回答

是的,我发现了:)

实际上,服务URL不完整。 因此,使用包括servlet类名的完整URL有助于

 var req =新的$ .web.WebRequest($。net.http.POST,"/img/mail/ServletMail"); 

ServletMail是我的Servlet的名称。 在关联的web.xml中,有一个servlet映射模式/mail指向该类,这就是导致HTTP 302"错误"的原因。

me_for_i
2楼-- · 2020-09-30 05:21

您找到任何解决方案了吗?

一周热门 更多>