第一章 1.1 1.2 1.3 1.4 第二章 2.1 2.2 2.3
SAP创建WS 外部系统调用SAP ........................................................................................................... 2 概要技术说明 ............................................................................................................................................. 2 创建RFC函数 ........................................................................................................................................... 2 创建WS ...................................................................................................................................................... 3 外部系统访问配置 ..................................................................................................................................... 8 SAP调用WS SAP系统调用外部系统 ...................................................................................................18 概要技术说明 ............................................................................................................................................18 创建服务代理对象 ....................................................................................................................................18 创建端口 ....................................................................................................................................................22
创建默认端口 ...................................................................................................................................22 2.3.2 配置默认端口 ...................................................................................................................................23 2.4 程序实现调用 ............................................................................................................................................25 2.4.1 代码实现 ...........................................................................................................................................25
第三章 3.1
数据交换格式 ............................................................................................................................................26 数据交换格式 ............................................................................................................................................26
2.3.1
第一章 SAP创建WS 外部系统调用SAP
1.1 概要技术说明
Web Service 简介:构建互联网分布式系统的基本部件。Web Services 正成为企业应用集成(Enterprise Application Integration)的有效平台。你可以使用互联网中提供的Web Service构建应用程序,而不必考虑这些Web Service是怎样运行的。
Web Service通过标准通信协议,在互联网上发布程序模块(以服务的方式),目前大部分是用SOAP来做通信协议。
本文档为一个SAP ECC(以下简称ECC)系统如何生成Web Service(以下简称WS)供外部系统调用的示例。ECC系统生成WS的大致流程为:首先在SAP中创建一个属性为RFC的函数,然后对该函数进行封装,最后通过事务代码——SOAMANAGER进行配置,即可得到供外部系统进行调用WS的URL。详细技术说明见1.2—1.4。
系统环境:SAP ECC 6.0, BASIS 700 SP15;
WS通讯协议:SOAP 1.1(此ECC的版本暂不支持SOAP1.2)。
1.2 创建RFC函数
使用TCODE:se37或SE80,首先在函数组(函数组自行创建)中创建一个函数,在弹出的界面输入相关参数,将Processing Type选为RFC类型即可。具体如下:
该函数的输入、输入参数均为String类型。
1.3 创建WS
创建WS有两种途径,一种是通过SE80,另一种是通过SE37,前一种提供了多种选择类型(WS、Proxy Object 等),后者只能创建WS。本文档使用后一种方法,通过如下路径:Utilities->More Utilities->Create Web Service->Form the Function Module。
系统弹出Web Service创建向导,输入服务名称、描述:
Name Mapping和XML文件中生成的函数名对应的变量命名有关,一般不选。
Profile为安全文件设置,即外部系统访问该服务时ECC系统设置的安全级别。Deploy Service可
不选。
输入开发包和传输请求:
完成:
基本信息如下:
1.4 外部系统访问配置
若是生成的WS供SAP系统调用,则此步骤可省略,非SAP系统访问则必须配置。通过事务代码:SOAMANAGER对Web Service(ZXTPT_DXP)进行配置。配置前需要修改DNS解析的HOST文件,并添加对应的域名,文件路径:C:\\Windows\\System32\\drivers\\etc,以记事本方式修改hosts文件,如: 10.85.23.164 pxci.epri.com.cn 10.85.23.74 hecs.epri.com.cn
保存文件。如果SOAMANAGER打开浏览器后登录失败,则需要在SAP中通过SICF来激活相关的服务。若不清楚相关的服务则全部激活。 SOAMANAGER中的具体配置过程如下:
点击Web Service Administration进行配置,进入后选择自己创建的WS,然后点击Apply Selection:
点击 Configurations,再点击Edit按钮,如下:
在上图中输入用户名和密码即可,然后点击Save按钮配置完成。再点击下图中的Overview按钮,然后打开:Open WSDL document for selected binding标签,即可获得URL。
URL在IE的地址栏中获得。
1.5 SOAMANAGER(新配置)中的具体配置过程如下:
第二章 SAP调用WS SAP系统调用外部系统
2.1 概要技术说明
ECC系统调用外部WS是企业信息系统整合集成时经常遇见到的情况,本章为一个ECC系统调用外部WS来实现和企业门户的数据交换例子。ECC系统调用外部WS的大致流程为:首先在SAP中创建一个代理对象,然后为对象创建端口,并将配置端口激活,最后通过事务代码——SOAMANAGER进行配置,即可在程序中调用WS中提供的方法,以实现系统间的数据传输。详细技术说明见2.2—2.4。
系统环境:SAP ECC 6.0, BASIS 700 SP15;
WS通讯协议:SOAP 1.1(此ECC的版本暂不支持SOAP1.2)。
2.2 创建服务代理对象
使用TCODE:se80,选择建立,在弹出的界面输入相关参数即可。具体流程如下:
选择服务消费者:
选择URL/HTTP类型:
输入你需调用的URL:
输入开发包、前缀号和请求号:
完成:
最后生成了前缀名为ZXTPT的Proxy Object,它包含了很多种方法,此处只调用方法dxpaccess_service。
2.3 创建端口
2.3.1 创建默认端口
通过事务代码:LPCONFIG为Proxy Object 创建一个默认端口。具体过程如下: 输入类名称和端口名称,若是默认调用的端口,打上对号:
编辑端口,输入名称、URL和应用设置等:
检查无误后,点击激活按钮激活此端口即可。
2.3.2 配置默认端口
通过事务代码:SOAMANAGER对Proxy Object 进行配置。具体过程如下:
点击Web Service Administration进行配置,进入后选择自己创建的代理类,然后点击Apply Selection:
点击 Create Logical Prot会弹出如下窗口,分别输入相关参数即可:
最后点击 Apply Setting,然后点击Save按钮即可激活此配置。
完成上述两个步骤后,即可在程序中调用此代理类。
2.4 程序实现调用
2.4.1 代码实现
关键代码如下:
data : lo_proxy type ref to zxtptco_report_parser, lo_input type zxtptdxpaccess_service,
lo_output type zxtptdxpaccess_service_respons, lo_sys_exception type ref to cx_ai_system_fault. try.
* create an instance of proxy class
create object lo_proxy exporting
logical_port_name = 'LP01'.
* call the corresponding method
call method lo_proxy->dxpaccess_service exporting
input = lo_input importing
output = lo_output.
catch cx_ai_system_fault into lo_sys_exception.
* error handling.
write : lo_sys_exception->errortext. endtry.
第三章 数据交换格式
3.1 数据交换格式
在ECC系统和数据交换平台(以下简称DXP)交换数据时,按DXP平台接口规范要求,采用的是将XML格式的数据封装到字符串中的形式来实现数据传输。外部调用ECC 的WS时返回参数的XML Schema 如下:
ECC调用外部WS的输入参数的XML Schema如下:
具体字段解释如下:
错误!链接无效。
因篇幅问题不能全部显示,请点此查看更多更全内容