有两种方式
一种就是网上流传的
下面转载内容
TCode:se80
选择 Package,输入我们自己的开发包,后回车
右击 开发包名称,选择菜
出现创建向导窗口
选择”Service Consumer”,点击 继续
选择”external WSDL”,点击继续
选择”URL”,点击继续
输入WebService的WSDL地址,就是WebService地址的后面加上?wsdl这个参数。点击继续
选择开发类和创建传输号,点击继续。
点击”Complete” ,出现WebServer代理类的创建窗口。
修改系统产生的代理类的名字,然后点保存,激活。到这一步,WebService代理就创建完成了。要想使用它,我们还要创建一个逻辑端口,事务码:lpconfig。
在 代理类中选择、输入上面创建的代理类,在逻辑端口中输入端口号,PS 端口号可以随便字母和数字组合。输入描述后,点创建。
在”URL”处,输入要访问的WebService的地址,全局设置中的”状态管理”要勾上。
选择 WebService中的函数,并输入函数的SoapAction,点保存。逻辑端口创建完成。接下来就该Coding了。
*&———————————————————————*
*& Report ZWEBSERVICETEST
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
REPORT zwebservicetest.
DATA:helloworld(200) TYPE c.
DATA:webservice TYPE REF TO zco_web_service1soap. “WebService代理类
DATA:gt_input TYPE zhello_world_soap_in, “输入参数
gt_output TYPE zhello_world_soap_out. “输出参数
DATA:lo_sys_exception TYPE REF TO cx_ai_system_fault,
lo_app_exception TYPE REF TO cx_ai_application_fault.
START-OF-SELECTION.
TRY.
CREATE OBJECT webservice
EXPORTING
logical_port_name = ‘LZP101′ . “为此WebService创建的逻辑端口。
CATCH cx_ai_system_fault .
MESSAGE ‘出错了’ TYPE ‘S’.
ENDTRY.
TRY.
CALL METHOD webservice->hello_world
EXPORTING
input = gt_input
IMPORTING
output = gt_output.
CATCH cx_ai_system_fault INTO lo_sys_exception .
“message ‘出错了 systemai’ type ‘S’.
WRITE lo_sys_exception->errortext.
CATCH cx_ai_application_fault INTO lo_app_exception .
WRITE / .
WRITE lo_app_exception->textid.
ENDTRY.
WRITE gt_output-hello_world_result.
另一种测试
*&----------------------------------------------------------------------*
*& Program Name : Z_TEST
*& Author's Name :
*& Written Date :
*& Request Number:
*& Program Description: sap 与 webservice 的连接测试
*&----------------------------------------------------------------------*
* Changer Changed Date Request NO. Dec.
*&----------------------------------------------------------------------*
REPORT z_test.
DATA:webservice TYPE REF TO zco_oa_workflow_service.
DATA:gw_zcreat_oa_workflow TYPE zcreat_oa_workflow,
gw_input TYPE zcreat_oa_workflow1,
gw_output TYPE zcreat_oa_workflow_response1.
DATA:lo_sys_exception TYPE REF TO cx_ai_system_fault,
lo_app_exception TYPE REF TO cx_ai_application_fault.
DATA: p_str1 TYPE string,
p_str2 TYPE string,
p_str3 TYPE string.
START-OF-SELECTION.
"XML数据
p_str1 = '<fields><field><name>Title</name><value>交办测试</value></field><field><name>Urgency</name><value>紧急</value></field>'.
p_str2 = '<field><name>YQDate</name><value>2013-09-24</value></field><field><name>Day_HF</name><value>3</value></field><field><name>XGXM</name><value>1</value></field>'.
p_str3 = '<field><name>Name_KH</name></field><field><name>Content</name><value>任务安排111</value></field><field><name>Remarks</name><value>备注111</value></field></fields>'.
TRY.
CREATE OBJECT webservice
EXPORTING
logical_port_name = 'LZP01'.
"为此webservice创建的逻辑端口。
CATCH cx_ai_system_fault .
MESSAGE '出错了' TYPE 'E'.
ENDTRY.
"写输入参数
gw_zcreat_oa_workflow-arg0 = 'TW9QUQXPR74U95SS'.
gw_zcreat_oa_workflow-arg1 = 'L_TYLC_GZJB'.
gw_zcreat_oa_workflow-arg2 = ''呵呵.
gw_zcreat_oa_workflow-arg3 = ''.
gw_zcreat_oa_workflow-arg4 = 'admin'.
gw_zcreat_oa_workflow-arg5 = |{ p_str1 }{ p_str2 }{ p_str3 }|.
gw_input-parameters = gw_zcreat_oa_workflow.
TRY.
CALL METHOD webservice->creat_oa_workflow
EXPORTING
creat_oa_workflow = gw_input
IMPORTING
creat_oa_workflow_response = gw_output.
CATCH cx_ai_system_fault INTO lo_sys_exception .
"“message ‘出错了 systemai’ type ‘s’.
WRITE lo_sys_exception->errortext.
CATCH cx_ai_application_fault INTO lo_app_exception .
WRITE / .
WRITE lo_app_exception->textid.
ENDTRY.
WRITE gw_output-parameters-return.