点击此处--->
群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有下一个问题:
1) 我有一个适用于Chrome的下一个网址:(今天是8月1日有效)
https://junjitest。 mineduc.cl/api-doc-parv/v1/docente/35605/rut/17878912?apikey=SpfBRV2HHyxAyaWcorai777RubbFGpYg
,结果可以在附件" fig1.jpg ";
2)的目的是使用ABAP代码,而我正在使用下一个代码,结果您可以在附件" 图2_R.jpg ";
cl_http_client => create_by_url(导出
url ='https://junjitest.mineduc.cl/api-doc-parv/v1/docente/35605/rut/17878912?apikey = SpfBRV2HHyxAyaWcorai777RubbFGpYg'IMPORTINGclient = lo_http_client
例外情况
arguments_not_found = 1
plugin_not_active = 2
internal_error = 3
其他= 4。
如果sy-subrc <> 0。 返回。 万一。
*我更改了使用GET方法的逻辑:
lo_http_client-> request-> set_method('GET')。
lo_http_client-> request-> set_content_type('application/json')。
*发送请求
lo_http_client->发送(
例外情况
http_communication_failure = 1
http_invalid_state = 2)。
*收到回复
lo_http_client-> receive(
例外情况
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3)。
*检查响应。 希望您能返回JSON response.DATA lv_response TYPE字符串。
lv_response = lo_http_client-> response-> get_cdata()。
我使用ABAP代码进行了其他测试,以管理 junjitest.mineduc.cl 取决于opc值变量(1或2)。 opc = 1到 junjitest.mineduc.cl 或opc = 2到时间和天气网站(它 使用有效期至2019年8月2日明天的APIKEY。
结果是:
a)附件 fig3-r.jpg ( junjitest.mineduc.cl ),与 Fig2_R.jpg
b)附件 fig4-wr.jpg ( 时间和天气网站)从哪里获得结果(我的意思是,ABAP代码有效!)
REPORT Z_TEST_MINEDUC_REST。
数据:客户端类型引用到if_http_client,
路径TYPE字符串,
方案类型TYPE i,
关闭TYPE I,
主机类型TYPE字符串,
porttype TYPE字符串,
contenttype TYPE字符串。
数据ld_request类型参考if_http_request。
数据:lv_host TYPE字符串。
数据:OPC TYPE C长度01。
opc ='1'。 " --- <简报中的junjitest.mineduc.cl
案例OPC。
当为" 1"时。 "" --- request-> set_header_field(name ='〜request_method'value ='GET')。
* client-> request-> set_header_field(name ='Content-Type'value ='application/x-www-form-urlencoded')。
client-> request-> set_header_field(name ='Content-Type'value ='application/json; charset = UTF-8')。
*发送和接收
ld_request =客户端->请求。
呼叫方法client-> request-> set_method(
if_http_request => co_request_method_get)。
客户端->发送()。
客户端->接收()。
DATA:内容类型字符串。
数据:lt_itab TYPE TABLE OF字符串,
ls_itab TYPE字符串。
内容=客户端->响应-> get_cdata()。
在cl_abap_char_utilities => newline INTO TABLE lt_itab中拆分内容。
*在"#"到表lt_itab中分割内容。
循环至lt_itab INTO ls_itab。
*将ls_itab中所有出现的" <"替换为" <"。
*将ls_itab中所有出现的'>'替换为'>'。
写:/ls_itab。
*写:/内容。
结束。
BREAK-POINT。
client-> close()。
如果需要设置其他内容(证书等),您能否发表评论?
WS是REST,目标是从mineduc服务器获得结果。
我将不胜感激。
此致
何塞
fig1.jpg
(136.0 kB)
点击此处--->
群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有下一个问题:
1) 我有一个适用于Chrome的下一个网址:(今天是8月1日有效)
https://junjitest。 mineduc.cl/api-doc-parv/v1/docente/35605/rut/17878912?apikey=SpfBRV2HHyxAyaWcorai777RubbFGpYg
,结果可以在附件" fig1.jpg ";
2)的目的是使用ABAP代码,而我正在使用下一个代码,结果您可以在附件" 图2_R.jpg ";
cl_http_client => create_by_url(导出
url ='https://junjitest.mineduc.cl/api-doc-parv/v1/docente/35605/rut/17878912?apikey = SpfBRV2HHyxAyaWcorai777RubbFGpYg'IMPORTINGclient = lo_http_client
例外情况
arguments_not_found = 1
plugin_not_active = 2
internal_error = 3
其他= 4。
如果sy-subrc <> 0。 返回。 万一。
*我更改了使用GET方法的逻辑:
lo_http_client-> request-> set_method('GET')。
lo_http_client-> request-> set_content_type('application/json')。
*发送请求
lo_http_client->发送(
例外情况
http_communication_failure = 1
http_invalid_state = 2)。
*收到回复
lo_http_client-> receive(
例外情况
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3)。
*检查响应。 希望您能返回JSON response.DATA lv_response TYPE字符串。
lv_response = lo_http_client-> response-> get_cdata()。
我使用ABAP代码进行了其他测试,以管理 junjitest.mineduc.cl 取决于opc值变量(1或2)。 opc = 1到 junjitest.mineduc.cl 或opc = 2到时间和天气网站(它 使用有效期至2019年8月2日明天的APIKEY。
结果是:
a)附件 fig3-r.jpg ( junjitest.mineduc.cl ),与 Fig2_R.jpg
b)附件 fig4-wr.jpg ( 时间和天气网站)从哪里获得结果(我的意思是,ABAP代码有效!)
REPORT Z_TEST_MINEDUC_REST。
数据:客户端类型引用到if_http_client,
路径TYPE字符串,
方案类型TYPE i,
关闭TYPE I,
主机类型TYPE字符串,
porttype TYPE字符串,
contenttype TYPE字符串。
数据ld_request类型参考if_http_request。
数据:lv_host TYPE字符串。
数据:OPC TYPE C长度01。
opc ='1'。 " --- <简报中的junjitest.mineduc.cl
案例OPC。
当为" 1"时。 "" --- request-> set_header_field(name ='〜request_method'value ='GET')。
* client-> request-> set_header_field(name ='Content-Type'value ='application/x-www-form-urlencoded')。
client-> request-> set_header_field(name ='Content-Type'value ='application/json; charset = UTF-8')。
*发送和接收
ld_request =客户端->请求。
呼叫方法client-> request-> set_method(
if_http_request => co_request_method_get)。
客户端->发送()。
客户端->接收()。
DATA:内容类型字符串。
数据:lt_itab TYPE TABLE OF字符串,
ls_itab TYPE字符串。
内容=客户端->响应-> get_cdata()。
在cl_abap_char_utilities => newline INTO TABLE lt_itab中拆分内容。
*在"#"到表lt_itab中分割内容。
循环至lt_itab INTO ls_itab。
*将ls_itab中所有出现的" <"替换为" <"。
*将ls_itab中所有出现的'>'替换为'>'。
写:/ls_itab。
*写:/内容。
结束。
BREAK-POINT。
client-> close()。
如果需要设置其他内容(证书等),您能否发表评论?
WS是REST,目标是从mineduc服务器获得结果。
我将不胜感激。
此致
何塞
fig1.jpg
(136.0 kB)
您好Sandra Rossi ,
只有我的用户可以编辑我今天写的答案。 昨天,我可以这样做,但今天的选项是:
只要告诉我是否还有其他选择,我会做的。
此致
何塞·海梅斯
< p>您好 Quynh Doan Manh ,
我将更详细地看到该信息。
谢谢您的回答。
在这里。 检查Quynh Doan Manh的回答。 他可能已经找到了您的问题...
您好,
我已阅读 https://stackoverflow。 com/questions/44065710/https-request-via-if-http-client 感谢 Quynh Doan Manh ,但问题仍然存在。
我已使用STRUST事务安装了证书,但未成功。
我已经与Basis团队进行了交谈,但是……情况相同。
需要更多帮助吗?
我的目标是从 https://junjitest.mineduc.cl/api-doc-parv/v1/docente/35605/rut/17878912?apikey=SpfBRV2HHyxAyaWcorai777RubbFGpYg (使用ABAP)。
数据类似于:
{
}
谢谢
嗨,
很长一段时间后,问题出在目标服务器上。
有一些端口限制。 该请求是正确的,但是端口号在目标服务器中无效。 因此,架构团队(没有SAP团队)做了一些更改并开始工作!
感谢您的帮助。
JoséJaimes