SAP webservice 接口
??
http://www.voidcn.com/article/p-znooypre-vo.html 目录 第一章??? SAP创建WS. 2 1.1?????? 概要技术说明.... 2 1.2?????? 创建RFC函数... 2 1.3?????? 创建WS. 3 1.4?????? 外部系统访问配置... 8 第二章??? SAP调用WS. 12 2.1?????? 概要技术说明.... 12 2.2?????? 创建服务代理对象... 12 2.3?????? 创建端口... 16 2.3.1??????? 创建默认端口... 16 2.3.2??????? 配置默认端口... 17 2.4?????? 程序实现调用... 19 2.4.1??????? 代码实现... 19 第三章??? 数据交换格式.... 20 3.1?????? 数据交换格式... 20 ? 第一章???????SAP创建WS1.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,首先在函数组(函数组自行创建)中创建一个函数,在弹出的界面输入相关参数,将ProcessingType选为RFC类型即可。具体如下: 该函数的输入、输入参数均为String类型。 1.3???创建WS创建WS有两种途径,一种是通过SE80,另一种是通过SE37,前一种提供了多种选择类型(WS、Proxy Object 等),后者只能创建WS。本文档使用后一种方法,通过如下路径:Utilities->MoreUtilities->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:WindowsSystem32driversetc,以记事本方式修改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的地址栏中获得。 第二章???????SAP调用WS2.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, try. ? 第三章???????数据交换格式3.1?? 数据交换格式在ECC系统和数据交换平台(以下简称DXP)交换数据时,按DXP平台接口规范要求,采用的是将XML格式的数据封装到字符串中的形式来实现数据传输。外部调用ECC 的WS时返回参数的XML Schema 如下: ECC调用外部WS的输入参数的XML Schema如下: 具体字段解释如下: 错误!链接无效。
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |