webservice 浏览器如何调用_SAP 发布webservice和调用webservice

webservice 浏览器如何调用_SAP 发布webservice和调用webservice
转载 :文章
添加链接描述

一、创建webservice
二、更改webservice
三、SoapUI测试webservice
四、查看webservice日志及排错

一、发布webservice
1.se37 创建webservice服务
13528068dc6e99440b7e4ce7990f0eae.png
2.TCODE:SOAMANAGER

d5de40410b4aaead5df5e4d987bf7a87.png
3.定义服务banding:

e4eac1983a7dc72329ddc717fcde64bb.png
f2f96151a6fb989a0d82f7e3a4c912cf.png
2a24991cdf5757b89f28391e567f9c9f.png
输入服务名称,点击下一步:

b814fa0c7862101368a80a97aae8da49.png
07e04e2623dc60d536b51d04b1749314.png
0091ef51005f80cd30372e0a3df90684.png
a2cde207e757223bf623677aa59c6140.png
6da6892feb913c4b76a805e301c67838.png
生成WSDL:

81d55c4bfe0e5b94ff5a562009abfb79.png
84a404f164634c7855a9edff2c40c9db.png
be216b6c6435653ca84c8efd6a99c172.png
url输入浏览器和sap登录验证信息,测试wsdl:

b5fca34193281624ebafaa2310dbc4e9.png
2d3e3626578ae4f6ab66d5475bf1b589.png
至此,webservice发布完成。

二、调用webservice
创建webservice使用者

4ef8f2bf07187ce0e9953d6cf90be6ac.png
选择Service Consumer

1861cbd3e7a87946b347eb703e8b3eba.png
dd984ca39ba91268faecf272086233a2.png
bbdbebdfb7f1eb80f985e376094c154f.png
8cfe8277bc25c4fcbb68879174ea2ddf.png
这里测试用配置个本地对象

c7bbd4571cf0d21d1de8aa37d8cb7b3a.png
d7ea755262b56992887214cbb951f077.png
生成代理类:

17786b4b536e23e51db5d68d5dfb8c11.png
激活所有对象

0a573f63b5cd1569495f50e86b5dc693.png
Se80企业服务,可以看到代理类信息:

ce627d045e496413b08653b2e451d12a.png
再次回到TCODE:SOAMANAGER,配置代理类的逻辑端口:

63ecaeec99fbae499a4dd6ea2e2b75a1.png
注意这次搜索”消费者代理”:

1bf97ec1966757d92936b39068f783c8.png
这里选择基于WSDL配置,后面步骤会比较多,(我测试过其他几个选项都不行):

9b6725ab93ff3e603ce519403881415c.png
逻辑端口:逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。简单来说,ip地址是用来区分主机,端口号是用来区分主机上的不同服务

20715f85aff3d28f468deb5907762d73.png
f61a24c28878fa0111cf07aa32f0ed07.png
ceabdb875631a41a7e1997ef56df8fee.png
一直下一步直到完成

Ping web服务

fc3245ebce36a20cf199cd6b1f3e3d10.png
0a8e73586bcb16ca43bfe00c4d08428d.png
程序中调用:

DATA:lo_cx_root TYPE REF TO cx_root.

DATA:l_prox_e TYPE REF TO zco_sap_service_port_type.

DATA:lo_sys_exception TYPE REF TO cx_ai_system_fault,

cx_ai_application_fault TYPE REF TO cx_ai_application_fault

IF l_prox_e IS INITIAL.

TRY.

CREATE OBJECT l_prox_e

EXPORTING

logical_port_name = ‘ZLP01’.

CATCH cx_ai_system_fault INTO lo_sys_exception.

IF lo_sys_exception->errortext IS NOT INITIAL.

output-msgty = ‘E’.

output-msgtx = lo_sys_exception->errortext.

APPEND output.CLEAR:output.

EXIT.

ENDIF.

CATCH cx_ai_application_fault INTO cx_ai_application_fault.

ENDTRY.

ENDIF.

invoke_flow_request-in0 = lv_json.

TRY.

CALL METHOD l_prox_e->invoke_flow

EXPORTING

invoke_flow_request = invoke_flow_request

IMPORTING

invoke_flow_response = invoke_flow_response.

CATCH cx_ai_system_fault INTO lo_sys_exception.

IF lo_sys_exception->errortext IS NOT INITIAL.

output-msgty = ‘E’.

output-msgtx = lo_sys_exception->errortext.

APPEND output.CLEAR:output.

EXIT.

ENDIF.

CATCH cx_ai_application_fault INTO cx_ai_application_fault.

ENDTRY.
.

你可能感兴趣的:(ABAP,网络,服务器,linux)