点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我设法使用Visual Studio代码将CF Business Application设置为在本地工作,在那里我可以运行 nodejs srv模块并从hana服务实例中检索数据。 我还能够从我的Cloud Foundry目标服务中检索目标信息(Url, Type:Onpremise ,用户名,密码...),我假设我输入的所有凭据默认为- env.json可以正常工作。 但是,只有连接服务似乎对我不起作用,因为当我调用Onpremise虚拟主机(在目标服务中定义)时,它始终会引发这种类型的错误(并且我正在使用sap-cf-axios模块依赖项 ):
[2020-08-12T11:41:32.174Z]信息(环境访问器):未定义环境变量VCAP_APPLICATION。 [2020-08-12T11:41:32.177Z]信息(proxy-util):尝试从进程环境中获取http_proxy或HTTP_PROXY。 发现值不确定 [2020-08-12T11:41:32.177Z]信息(proxy-util):在环境变量中找不到http的代理设置-未使用代理 [2020-08-12T11:41:35.393Z]警告(目标访问器):设置了环境变量"目的地"。 将从此变量读取目标。 不建议将其用于生产性应用! 取消设置变量以从SAP Cloud Platform上的目标服务读取目标。 [2020-08-12T11:41:35.394Z] WARN(目标访问器):无法找到以下项的服务绑定 命名为" S4D"! 找到以下绑定:, ,dest-service,Connectivity-service。 如果您不使用SAP Extension Factory,则可以忽略此警告。 [2020-08-12T11:41:35.397Z] WARN(环境访问器):无法将特定的XSUAA服务实例与给定的JWT匹配。 绑定了以下XSUAA实例: 。 将选择以下内容: 。 这可能会在系统的其他部分产生错误! [2020-08-12T11:41:39.308Z]信息(proxy-util):将使用来自连接服务的OnPrem目标代理设置。 [2020-08-12T11:41:39.309Z] WARN(环境访问器):无法将特定的XSUAA服务实例与给定的JWT匹配。 绑定了以下XSUAA实例: 。 将选择以下内容: 。 这可能会在系统的其他部分产生错误! [2020-08-12T11:41:40.471Z] WARN(连接服务):无法创建" SAP-Connectivity-Authentication"标头:在当前请求上找不到JWT。 继续不带标题。 可能无法连接到本地系统。 [2020-08-12T11:41:40.472Z]信息(proxy-util):将使用来自连接服务的OnPrem目标代理设置。 [12-08-2020 18:42:26] [日志]错误:连接ETIMEDOUT 3.124.222.77:20003 在TCPConnectWrap.afterConnect上[完成时](net.js:1141:16){ errno:" ETIMEDOUT", 代码:" ETIMEDOUT", syscall:"连接", 地址:" 3.124.222.77", 端口:20003, 配置:{ 网址:"/img/sap/opu/odata/MY_ENTITYSET", 方法:"获取", 参数:{'sap-client':'110'}, 标头:{ 接受:" application/json,text/plain,*/*", 授权:" Basic ", '代理授权':'载体 ', 'Content-Type':'application/json', '用户代理':'axios/0.19.2', 主持人:" s4d:44300" }, transformRequest:[[功能:transformRequest]], transformResponse:[[功能:transformResponse]], 超时:0, 适配器:[功能:httpAdapter], xsrfCookieName:'XSRF-TOKEN', xsrfHeaderName:'X-XSRF-TOKEN', maxContentLength:-1, validateStatus:[功能:validateStatus], 代理: { 主持人:" connectivityproxy.internal.cf.eu10.hana.ondemand.com", 端口:20003, 通讯协定:「http」 }, baseURL:'http://s4d:44300', 数据:未定义 }, 要求:可写{ _writableState:WritableState { objectMode:否, highWaterMark:16384, finalCalled:错误, needDrain:否, 结尾:false, 结束:错误, 完成:错误, 销毁:错误, encodeStrings:是的, defaultEncoding:'utf8', 长度:0, 写作:错误, 软木塞:0, 同步:是的, bufferProcessing:否, onwrite:[功能:绑定onwrite], writecb:null, writelen:0, afterWriteTickInfo:null, bufferedRequest:空, lastBufferedRequest:null, 未决cb:0, 预设:假, errorEmitted:错误, 发出关闭:正确, autoDestroy:否, bufferedRequestCount:0, corkedRequestsFree:[对象] }, 可写:是的, _events:[对象:空原型] { 响应:[功能:handleResponse], 错误:[功能:handleRequestError] }, _eventsCount:2 _maxListeners:未定义, _options:{ 协议:" http:", maxRedirects:21, maxBodyLength:10485760, 路径:'http://s4d:44300/sap/opu/odata/ ?sap-client = 110', 方法:" GET", 标头:[Object], 代理:未定义, 代理商:[对象], 身份验证:未定义, 主机名:" connectivityproxy.internal.cf.eu10.hana.ondemand.com", 端口:20003, nativeProtocols:[Object], 路径名:'http://s4d:44300/sap/opu/odata/ ', 搜索:"?sap-client = 110" }, _redirectCount:0, _redirects:[], _requestBodyLength:0, _requestBodyBuffers:[], _onNativeResponse:[功能], _currentRequest:ClientRequest { _events:[对象:空原型], _eventsCount:6 _maxListeners:未定义, outputData:[], outputSize:0, 可写:是的, _last:是的, chunkedEncoding:否, shouldKeepAlive:否, useChunkedEncodingByDefault:false, sendDate:否, _removedConnection:否, _removedContLen:否, _removedTE:否, _contentLength:0, _hasBody:是的, _预告片: '', 完成:是的, _headerSent:是的, 套接字:[套接字], 连接:[Socket], _header:'GET http://s4d:44300/sap/opu/odata/ ?sap-client = 110 HTTP/1.1 \ r \ n'+ '接受:应用程序/json,文本/纯文本,*/* \ r \ n'+ '授权:基本 '+ '代理授权:承载 '+ '内容类型:application/json \ r \ n'+ '用户代理:axios/0.19.2 \ r \ n'+ '主机:s4d:44300 \ r \ n'+ '连接:关闭\ r \ n'+ '\ r \ n', _onPendingData:[功能:noopPendingOutput], 代理商:[代理商], socketPath:未定义, 方法:" GET", insecureHTTPParser:未定义, 路径:'http://s4d:44300/sap/opu/odata/ ?sap-client = 110', _ended:错误, res:null, 已中止:错误, timeoutCb:空, upgradeOrConnect:否, 解析器:null, maxHeadersCount:null, repeatedSocket:否, _redirectable:[通告], [Symbol(kCapture)]:否, [Symbol(kNeedDrain)]:否, [符号(塞住)]:0, [Symbol(kOutHeaders)]:[对象:空原型] }, _currentUrl:'http://connectivityproxy.internal.cf.eu10.hana.ondemand.com:20003/http://s4d:44300/sap/opu/odata/ ?sap-client=110', [Symbol(kCapture)]:错误 }, 回应:未定义, isAxiosError:是的, toJSON:[功能] }
[上面的问题日志已格式化为删除敏感信息]
通常,我能够使用webide的srv模块或使用已部署的nodejs应用程序成功运行我的nodejs代码,以使用本地系统中的数据。 因此,我不确定这个"连接ETIMEDOUT 3.124.222.77:20003"的原因是来自我的云连接器设置,还是来自我的本地nodejs环境。我在这里丢失了什么吗?
我的default-env.json基本如下(我还有另一个文件default-services.json,其中仅具有hana凭据部分-都在srv文件夹下):
{ " VCAP_SERVICES":{ " hana":[ { " label":" hana", "提供者":null, " plan":" hdi-shared", " name":" hdi", "标签":[ " hana", "数据库", "关系的" ], " instance_name":" hdi", " binding_name":null, "凭据":{ .......从我的云端铸造驾驶舱复制 }, " syslog_drain_url":null, " volume_mounts":[] } ], " xsuaa":[ { " label":" xsuaa", "提供者":null, "计划":"申请", " name":" uaa", "标签":[ " xsuaa" ], " instance_name":" uaa", " binding_name":null, "凭据":{ .......从我的云端铸造驾驶舱复制 }, " syslog_drain_url":null, " volume_mounts":[] } ], "目的地":[ { " label":"目的地", "提供者":null, " plan":" lite", " name":"目标服务", "标签":[ "目的地", " conn", " connsvc" ], " instance_name":"目标服务", " binding_name":null, "凭据":{ .......从我的云端铸造驾驶舱复制 }, " syslog_drain_url":null, " volume_mounts":[] } ], "连接性":[ { " label":"连通性", "提供者":null, " plan":" lite", " name":" connectivity-service", "标签":[ "连接性", " conn", " connsvc" ], " instance_name":"连接服务", " binding_name":null, "凭据":{ .......从我的云端铸造驾驶舱复制 }, " syslog_drain_url":null, " volume_mounts":[] } ] } }
如果您曾经遇到过此类问题,请在评论部分给我一些提示。 任何有关此问题的建议,我们深表感谢。 谢谢您的时间!
此致
斯蒂芬
嗨,斯蒂芬,
该功能不起作用,因为非SCP IP被代理服务阻止,并且这是所有云平台服务上常见的安全功能。 如果要在本地进行测试,则应仅使用服务的直接URL配置。 即:
一周热门 更多>