o2geao 发表于 2015-9-18 11:33:07

SAP与外部WebService接口的链接

  参考博客:http://scnblogs.techweb.com.cn/lxzwsk/archives/27.html
  SAP 能通过设置WebService与外部的webservice服务连接;
  1、进入事务:SE80,选择 Package ,指定保存的开发包,按图1操作,创建一个Enterprise Service;
  (图1)
  2、会出现如下的创建导向窗口,选择 'Service Consumer',点击‘继续’,如图2;
  
(图2)
  3、在弹出的下一个窗口中选择‘URL/HTTP Destination’,点击‘继续’,如图3;
  (图3)
  4、在弹出的窗口中,选择‘URL’,并输入wdsl地址,如图4;
(图4)
  5、在弹出的窗口中,在'Package'栏中输入所需保存的开发类,若保存为本地开发类,则需将‘Local/Object’选上,如图5;
  (图5)
  6、点击完最终的‘Complete’后,如果相连接的WDSL没有问题,则会出现WebService 代理类的创建窗口,如图6;
(图6)
  7、在保存并激活完代理类后,进入事务:LPCONFIG,进行创建逻辑端口的操作,如图7;
  (图7)


8、在进入创建端口的界面后,输入描述,并在‘一般设置’下的‘调用参数’页签中,在'URL'中输入WSDL地址,并在‘应用程序特定设置’

    的‘全局设置’页签下将‘状态管理’勾上,否则在激活的时候会提示‘激活不成功’,如图8;

(图8)

9、在‘一般设置’下的‘操作’页签中,在‘SOAP’操作对应的输入框中输入对应的行为地址,如图9;

(图9)

10、保存并激活逻辑端口。



11、通过编写代码来测试SAP与WebService的链接,如附件;






1 *&----------------------------------------------------------------------*
2 *&ProgramName :ZQIU_TEST44
3 *&Author'sName : QLB
4 *&Written   Date :25.02.2014 15:59:03
5 *&RequestNumber:
6 *&Program Description:sap 与 webservice 的连接测试
7 *&----------------------------------------------------------------------*
8 *Changer         Changed Date         RequestNO.      Dec.
9 *&----------------------------------------------------------------------*
10
11 REPORTzqiu_test44.
12
13 DATA:webservice TYPE REF TO zco_oa_workflow_service.
14
15 DATA:gw_zcreat_oa_workflowTYPE zcreat_oa_workflow,
16      gw_inputTYPE zcreat_oa_workflow1,
17      gw_output TYPE zcreat_oa_workflow_response1.
18
19 DATA:lo_sys_exception   TYPE REF TO cx_ai_system_fault,
20      lo_app_exception   TYPE REF TO cx_ai_application_fault.
21
22 DATA: p_str1   TYPE string,
23       p_str2   TYPE string,
24       p_str3   TYPE string.
25
26
27 START-OF-SELECTION.
28
29   "XML数据
30   p_str1 = '<fields><field><name>Title</name><value>交办测试</value></field><field><name>Urgency</name><value>紧急</value></field>'.
31   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>'.
32   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>'.
33
34   TRY.
35       CREATE OBJECT webservice
36         EXPORTING
37         logical_port_name = 'LZP01'.
38       "为此webservice创建的逻辑端口。
39   CATCH cx_ai_system_fault .
40       MESSAGE '出错了' TYPE 'E'.
41   ENDTRY.
42
43   "写输入参数
44   gw_zcreat_oa_workflow-arg0 = 'TW9QUQXPR74U95SS'.
45   gw_zcreat_oa_workflow-arg1 = 'L_TYLC_GZJB'.
46   gw_zcreat_oa_workflow-arg2 = ''呵呵.
47   gw_zcreat_oa_workflow-arg3 = ''.
48   gw_zcreat_oa_workflow-arg4 = 'admin'.
49   gw_zcreat_oa_workflow-arg5 = |{ p_str1 }{ p_str2 }{ p_str3 }|.
50   gw_input-parameters = gw_zcreat_oa_workflow.
51
52   TRY.
53       CALL METHOD webservice->creat_oa_workflow
54         EXPORTING
55         creat_oa_workflow          = gw_input
56         IMPORTING
57         creat_oa_workflow_response = gw_output.
58   CATCH cx_ai_system_fault INTO lo_sys_exception .
59       "“message ‘出错了 systemai’ type ‘s’.
60       WRITE lo_sys_exception->errortext.
61   CATCH cx_ai_application_fault INTO lo_app_exception .
62       WRITE / .
63       WRITE lo_app_exception->textid.
64   ENDTRY.
65
66   WRITE gw_output-parameters-return.
  
  
  
  
  
  
  
  
  
  
  
  
  
页: [1]
查看完整版本: SAP与外部WebService接口的链接