XSJS-POST HttpRequests到外部不起作用

2020-09-20 05:28发布

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

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


嗨,

我正在尝试使用HttpRequest POST方法从XSJS发送电子邮件。 我从一个月开始尝试,谷歌搜索,在SAP答案门户上搜索,但仍然无法正常工作。

这是Postman的一个工作实例,我想与XSJS集成。

我试图通过多种方式完成此任务,最后一个是这样:

 var req = new $ .net.http.Request($。net.http.POST,"/img/xxxx/xxxxx/sendmail.php");

 var实体= req.entities.create();
 req.contentType ="多部分/表单数据";

 正文=正文+"内容处置:表单数据; toEmail = \" ankurxxaa@aasc.com \" \ r \ n";
 正文=正文+"内容处置:表单数据;主题= \"示例电子邮件测试\" \ r \ n";
 正文=正文+"内容处置:表单数据; rawBody = \"原始文本正文\" \ r \ n";
 正文=正文+"内容处置:表单数据; htmlBody = \" 

HTML正文

\" \ r \ n"; 正文=正文+"内容处置:表单数据;键= \" myapikey \""; entity.headers.set(" Content-Disposition"," form-data; toEmail = \" ankurxxaa@aasc.com \" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; subject = \"样本电子邮件测试\" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; rawBody = \" Raw Text body \" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; htmlBody = \"

HTML正文

\" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; key = \" myapikey \" \ r \ n"); //entity.setBody(body); req.setBody(body); var clientresponse = client.request(req,dest).getResponse(); $ .response.status = $ .net.http.OK; $ .response.setBody(clientresponse.body.asString());

如果我们从cURL运行,这就是它的流动方式:

卷曲-X POST \
   http://aabbccddeeff/xxxx/yyyy/sendmail.php \
   -H'缓存控制:无缓存'\
   -H'邮递员令牌:ec19e174-ac78-f9a7-ade6-cef762b4e53f'\
   -H'内容类型:多部分/表单数据;  boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW'\
   -F toEmail=ankurasde@3vr3gf.com \
   -F'主题=测试邮件'\
   -F'rawBody =这是测试邮件'
   -F'htmlBody = 

这是 test 邮件。

'\ -F'myapikey'

由于有效载荷为空,它会不断显示错误消息。 端点基于PHP,并显示

如果(空($ _POST))
 {
 die("有效负载为空")
 }
 

需要SAP专家的帮助。

此致

安库尔

(32.2 kB)

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

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


嗨,

我正在尝试使用HttpRequest POST方法从XSJS发送电子邮件。 我从一个月开始尝试,谷歌搜索,在SAP答案门户上搜索,但仍然无法正常工作。

这是Postman的一个工作实例,我想与XSJS集成。

我试图通过多种方式完成此任务,最后一个是这样:

 var req = new $ .net.http.Request($。net.http.POST,"/img/xxxx/xxxxx/sendmail.php");

 var实体= req.entities.create();
 req.contentType ="多部分/表单数据";

 正文=正文+"内容处置:表单数据; toEmail = \" ankurxxaa@aasc.com \" \ r \ n";
 正文=正文+"内容处置:表单数据;主题= \"示例电子邮件测试\" \ r \ n";
 正文=正文+"内容处置:表单数据; rawBody = \"原始文本正文\" \ r \ n";
 正文=正文+"内容处置:表单数据; htmlBody = \" 

HTML正文

\" \ r \ n"; 正文=正文+"内容处置:表单数据;键= \" myapikey \""; entity.headers.set(" Content-Disposition"," form-data; toEmail = \" ankurxxaa@aasc.com \" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; subject = \"样本电子邮件测试\" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; rawBody = \" Raw Text body \" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; htmlBody = \"

HTML正文

\" \ r \ n"); entity.headers.set(" Content-Disposition"," form-data; key = \" myapikey \" \ r \ n"); //entity.setBody(body); req.setBody(body); var clientresponse = client.request(req,dest).getResponse(); $ .response.status = $ .net.http.OK; $ .response.setBody(clientresponse.body.asString());

如果我们从cURL运行,这就是它的流动方式:

卷曲-X POST \
   http://aabbccddeeff/xxxx/yyyy/sendmail.php \
   -H'缓存控制:无缓存'\
   -H'邮递员令牌:ec19e174-ac78-f9a7-ade6-cef762b4e53f'\
   -H'内容类型:多部分/表单数据;  boundary = ---- WebKitFormBoundary7MA4YWxkTrZu0gW'\
   -F toEmail=ankurasde@3vr3gf.com \
   -F'主题=测试邮件'\
   -F'rawBody =这是测试邮件'
   -F'htmlBody = 

这是 test 邮件。

'\ -F'myapikey'

由于有效载荷为空,它会不断显示错误消息。 端点基于PHP,并显示

如果(空($ _POST))
 {
 die("有效负载为空")
 }
 

需要SAP专家的帮助。

此致

安库尔

(32.2 kB)
付费偷看设置
发送
3条回答
哎,真难
1楼-- · 2020-09-20 06:01

也-我不确定您是否仅使用PHP发送电子邮件,但是可以将HANA/XS实例配置为执行相同操作。 如果您有兴趣,请查看以下GIST: https://gist.github.com/paschmann/144fea92015428bd773adfee290ca637

xfwsx85
2楼-- · 2020-09-20 05:50

嗨Ankur,我假设您的CURL POST可以按预期运行?

ZJXianG
3楼-- · 2020-09-20 06:10

嗨Paul,

感谢您的回复。 在此示例中,我尝试发送电子邮件,将测试您的代码。

一周热门 更多>