TCode:se80
选择 Package,输入我们自己的开发包,后回车
右击 开发包名称,选择菜单
出现创建向导窗口
选择”Service Consumer”,点击 继续
选择”external WSDL”,点击继续
选择”URL”,点击继续
输入WebService的WSDL地址,就是WebService地址的后面加上?wsdl这个参数。点击继续
选择开发类和创建传输号,点击继续。
点击”Complete” ,出现WebServer代理类的创建窗口。
修改系统产生的代理类的名字,然后点保存,激活。到这一步,WebService代理就创建完成了。要想使用它,我们还要创建一个逻辑端口,事务码:lpconfig。
在 代理类中选择、输入上面创建的代理类,在逻辑端口中输入端口号,PS 端口号可以随便字母和数字组合。输入描述后,点创建。
在”URL”处,输入要访问的WebService的地址,全局设置中的”状态管理”要勾上。
选择 WebService中的函数,并输入函数的SoapAction,点保存。逻辑端口创建完成。接下来就该Coding了。
01.*&———————————————————————*
02.*& Report ZWEBSERVICETEST
03.*&
04.*&———————————————————————*
05.*&
06.*&
07.*&———————————————————————*
08.REPORT zwebservicetest.
09.DATA:helloworld(200) TYPE c.
10.DATA:webservice TYPE REF TO zco_web_service1soap. “WebService代理类
11.DATA:gt_input TYPE zhello_world_soap_in, “输入参数
12.gt_output TYPE zhello_world_soap_out. “输出参数
13.DATA:lo_sys_exception TYPE REF TO cx_ai_system_fault,
14.lo_app_exception TYPE REF TO cx_ai_application_fault.
15.START-OF-SELECTION.
16.TRY.
17.CREATE OBJECT webservice
18.EXPORTING
19.logical_port_name = ‘LZP101′ . “为此WebService创建的逻辑端口。
20.CATCH cx_ai_system_fault .
21.MESSAGE ‘出错了’ TYPE ‘S’.
22.ENDTRY.
23.TRY.
24.CALL METHOD webservice->hello_world
25.EXPORTING
26.input = gt_input
27.IMPORTING
28.output = gt_output.
29.CATCH cx_ai_system_fault INTO lo_sys_exception .
30.“message ‘出错了 systemai’ type ‘S’.
31.WRITE lo_sys_exception->errortext.
32.CATCH cx_ai_application_fault INTO lo_app_exception .
33.WRITE / .
34.WRITE lo_app_exception->textid.
35.ENDTRY.
36.WRITE gt_output-hello_world_result.