将数据从XSJS发布到SAP Translation Hub API中

2020-09-13 11:03发布

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

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


你好同事

我正在尝试SAP Translation HUB Api(https://saptranslation-s001 ***** 9trial.hanatrial.ondemand.com/translationhub/api/v1/translate ),跟踪也无法帮助xsjs。

我收到的是空数组响应。 我不知道哪里出了问题。

请在这里帮助我。

与邮递员的初始测试:

身份验证类型:基本

内容:Application/Json。

未设置csrf,我成功获得响应。

现在使用XSJS

我创建目标文件

 description ="翻译器";
 主机=" saptranslation-s001961 ** 9trial.hanatrial.ondemand.com";
 端口= 80;
 pathPrefix ="/img/translationhub/api/v1/";
//proxyType = none;
 useProxy = true;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =基本;
 useSSL = false;
 超时= 3000;



 

我在XSADMIN中提供了必需的用户名和密码。

我的XSJS代码

(代码1)(Webrequest)

 var dest = $ .net.http.readDestination(" translationPackage.xs.xsdestination"," translator");
 var client = new $ .net.http.Client();


//发出请求
 var data = {
 " targetLanguages":[
     " fr"
   ],
 " sourceLanguage":" en",
 " enableMT":是的,
 " enableTranslationQualityEstimation":是的,
 " domain":" string",
 " companyMLTRId":"字符串",
 "单位": [
 {
 " textType":" string",
 " key":" string",
 " value":"爱是伟大的",
 " searchData":{
 " language":" string",
 " value":"字符串"
 }
     }
   ]
 };
 var jdata = JSON.stringify(data);


 var req = new $ .web.WebRequest($。net.http.POST,'/translate');


 req.headers.set(" Content-Type"," application/json");


 req.setBody(jdata);


 client.request(req,dest);


 var response = client.getResponse();
 $ .response.contentType =" application/json";


 $ .response.status = $ .net.http.OK;


 $ .response.setBody(JSON.stringify(response));
 

(代码2)(http)

 var数据= {
 " targetLanguages":[
     " fr"
   ],
 " sourceLanguage":" en",
 " enableMT":是的,
 " enableTranslationQualityEstimation":是的,
 " domain":" string",
 " companyMLTRId":"字符串",
 "单位": [
 {
 " textType":" string",
 " key":" string",
 " value":"爱是伟大的",
 " searchData":{
 " language":" string",
 " value":"字符串"
 }
     }
   ]
 };
 var jdata = JSON.stringify(data);


 var dest = $ .net.http.readDestination(" translationPackage.xs.xsdestination"," translator");
 var client = new $ .net.http.Client();


 函数doPOST(){


 尝试{


 var req = new $ .net.http.Request($。net.http.POST," translate");


 req.contentType =" application/json";


 req.setBody(jdata);


 client.request(req,dest);
 var response = client.getResponse();


 var res = JSON.stringify(response);


 $ .response.contentType =" application/json";


 $ .response.status = $ .net.http.OK;


 $ .response.setBody(JSON.stringify(res));


 } catch(err){


 $ .response.contentType ="文本/纯文本";


 $ .response.setBody("执行查询时出错:[" + err.message +"]");


 $ .response.returnCode = 200;


 }


 }


 doPOST();
 

这两个代码都返回空数组 {}作为结果。

请告诉我如何解决。

非常感谢。

Br,

加百利

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

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


你好同事

我正在尝试SAP Translation HUB Api(https://saptranslation-s001 ***** 9trial.hanatrial.ondemand.com/translationhub/api/v1/translate ),跟踪也无法帮助xsjs。

我收到的是空数组响应。 我不知道哪里出了问题。

请在这里帮助我。

与邮递员的初始测试:

身份验证类型:基本

内容:Application/Json。

未设置csrf,我成功获得响应。

现在使用XSJS

我创建目标文件

 description ="翻译器";
 主机=" saptranslation-s001961 ** 9trial.hanatrial.ondemand.com";
 端口= 80;
 pathPrefix ="/img/translationhub/api/v1/";
//proxyType = none;
 useProxy = true;
 proxyHost ="代理";
 proxyPort = 8080;
 authType =基本;
 useSSL = false;
 超时= 3000;



 

我在XSADMIN中提供了必需的用户名和密码。

我的XSJS代码

(代码1)(Webrequest)

 var dest = $ .net.http.readDestination(" translationPackage.xs.xsdestination"," translator");
 var client = new $ .net.http.Client();


//发出请求
 var data = {
 " targetLanguages":[
     " fr"
   ],
 " sourceLanguage":" en",
 " enableMT":是的,
 " enableTranslationQualityEstimation":是的,
 " domain":" string",
 " companyMLTRId":"字符串",
 "单位": [
 {
 " textType":" string",
 " key":" string",
 " value":"爱是伟大的",
 " searchData":{
 " language":" string",
 " value":"字符串"
 }
     }
   ]
 };
 var jdata = JSON.stringify(data);


 var req = new $ .web.WebRequest($。net.http.POST,'/translate');


 req.headers.set(" Content-Type"," application/json");


 req.setBody(jdata);


 client.request(req,dest);


 var response = client.getResponse();
 $ .response.contentType =" application/json";


 $ .response.status = $ .net.http.OK;


 $ .response.setBody(JSON.stringify(response));
 

(代码2)(http)

 var数据= {
 " targetLanguages":[
     " fr"
   ],
 " sourceLanguage":" en",
 " enableMT":是的,
 " enableTranslationQualityEstimation":是的,
 " domain":" string",
 " companyMLTRId":"字符串",
 "单位": [
 {
 " textType":" string",
 " key":" string",
 " value":"爱是伟大的",
 " searchData":{
 " language":" string",
 " value":"字符串"
 }
     }
   ]
 };
 var jdata = JSON.stringify(data);


 var dest = $ .net.http.readDestination(" translationPackage.xs.xsdestination"," translator");
 var client = new $ .net.http.Client();


 函数doPOST(){


 尝试{


 var req = new $ .net.http.Request($。net.http.POST," translate");


 req.contentType =" application/json";


 req.setBody(jdata);


 client.request(req,dest);
 var response = client.getResponse();


 var res = JSON.stringify(response);


 $ .response.contentType =" application/json";


 $ .response.status = $ .net.http.OK;


 $ .response.setBody(JSON.stringify(res));


 } catch(err){


 $ .response.contentType ="文本/纯文本";


 $ .response.setBody("执行查询时出错:[" + err.message +"]");


 $ .response.returnCode = 200;


 }


 }


 doPOST();
 

这两个代码都返回空数组 {}作为结果。

请告诉我如何解决。

非常感谢。

Br,

加百利

付费偷看设置
发送
2条回答
一只江湖小虾
1楼-- · 2020-09-13 11:50

嗨,我还面临着与返回空数组作为响应相同的问题。

此致

Shagil

四川大学会员
2楼-- · 2020-09-13 11:30

嗨,似乎翻译中心确实可以在xsjs中发送邮件,并且只能在邮递员中使用。 我注意到在目的地放置调试器时,甚至主机未定义,URL,端口也未定义。 这就是为什么它返回空响应{}的原因。 不仅如此,我们无法与SAP一起制造事件,因为此剂量属于许可版本。(SAP Translation Hub在许可生产版本中不可用。)因此,我们(我们的团队)(已决定减少此解决方案的时间和评估。

希望这应该是Shagil的答案。

Br,

加百利。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答