SAP开发webservice接口教程
ABAP调用外部WebService

作者:SAP 天元
在登录及安全标签上可以设置用于登录访问对应 Web 服务的用户名跟密码,这里我们不做 设置,具体信息如下所示:
点击 按钮测试连接是否成功,如果成功则返回信息如下图所示:
ABAP 调用外部 WebService
作者:SAP 天元
创建逻辑端口
输入事务代码 LPCONFIG 来创建逻辑端口,点击 示: 新建逻辑端口,相关输入信息如下图所
ABAP 调用外部 WebService
作者:SAP 天元
因为当前 WebService 提供了两个类 (Web 服务代码中带有用户可访问的 Public 方法的类) , 我们选择 TempConvertSoap:
ABAP 调用外部 WebService
连接类型选择 G(HTTPConnectiontoExternalServ),输入主机名 (域名 或 IP 都可以)及端口号 80(这里叫 Service No.,其实是第三方系统提供的 HTTP 服务的端 口号,一般默认是 80,具体看情况):
ABAP 调用外部 WebService
作者:SAP 天元
然保存
并激活
:
在系统中会自动生成一个 ZW3C_CO_TEMP_CONVERT_SOAP 的类及其对应使用的数据类 型,如下图所示:
ABAP 调用外部 WebService
作者:SAP 天元
创建 RFC 目的
用事务代码 SM59 进入 RFC 连接配置,如下图所示:
输入相关描述及在状态管理打勾:
在调用参数中选择 HTTPDestination,然后选择刚创建的 RFC 目的 W3SCHOOLS,在路 径中输入 WebService 后缀/webservices/tempconvert.asmx(RFC 目的 W3SCHOOLS 表 示 , 然 后 结 合 后 缀 组 合 成 结 果 为 http://www.
WEBSERVICE接口流程图

1.设备鉴权接口(epg_DeviceAuth.php )开始问题:1.重复鉴权的处理现在有变化2.设备运营商信息接口(epg_DeviceInfo.php)开始运营商ID 是否存在将此设备关联到该运营商更新客户端此设备的用户区域信息结束将此设备的运营商置空将客户端此设备用户的区域信息置空NY3.固件软件升级接口(epg_DeviceUpgrate.php )是否首次鉴权YN结束生成apik 创建设备列表创建设备权限和客户端信息获取APIk 备注:apik 生成方法是由设备列表标识字段从左边补0至10位,再反转字符串得到开始获取该设备种类该运营商是否存在此类设备获取该运营商此类设备的固件信息结束获取此类型设备的固件信息,不考虑运营商NY此设备是否用来测试N读取测试数据读取正式数据Y问题:现在固件软件升级有所变更,是否已经考虑?4.APK 软件升级接口(epg_ApkUpgrate.php )开始是否有运营商IDN读取测试数据读取正式数据Y此设备是否用来测试是否有设备分类筛选指定该运营商的设备Y筛选指定分类的设备Y获取满足条件的数据结束问题:现在APK 软件升级有所变更,是否已经考虑?5.业务授权接口(epg_ServiceRegister.php )开始YN业务是否存在返回信息结束更新或插入用户的授权信息6.获取区域接口(epg_AreaInfo.php )开始N读取区域信息Y数据是否被缓存返回区域信息结束将数据写入缓存7.根据区域获取运营商接口(epg_operatorInfo.php )开始N获取该区域下所有运营商Y该区域是否被缓存返回运营商信息结束将数据写入缓存问题:业务有变动,应该获取省级和地市级运营商信息8.获取直播列表版本接口(epg_LiveVersion.php )取出运营商直播列表版本依据设备ID 找到对应运营商开始结束9.获取直播列表接口(epg_LiveListShape.php )开始N获取该运营商所有频道Y该运营商是否有频道列表缓存生成该运营商频道缓存结束读取每个频道详情返回频道列表10.获取直播频道图标接口(epg_GetChannelLogo.php )开始NY是否存在该频道Logo 缓存检验该频道名是否在频道列表或频道别名表中取得频道ID ,读取频道信息将该频道名录入缺失频道信息表结束生成该频道Logo 缓存,返回频道图标读取缓存,直接返回频道图标问题:第二个判断缺少y,n 标注11.获取增值业务数据接口(epg_ServiceContent.php )开始N依据设备ID ,取得可用业务列表Y该用户是否被授权结束获取运营商ID 和用户ID12.获取增值业务数据接口(epg_ServiceContent.php )YYYNNN结束N13.获取视频点播的子菜单(epg_SubmenuInfo.php )开始是否是综艺节目是否是高清节目是否是其它类型节目返回原始类型为高清的返回2014世界杯相关的返回原始类型为高清的返回所请求的类型Y该节目类型是否有效开始Y获取指定类别子菜单的信息Y是否有当前类别子菜单的缓存结束生成缓存,返回信息是否指定类别N获取顶级菜单的信息列表加载缓存信息N14.获取视频点播数据接口(epg_SubmenuContent.php )暂时跟"获取增值业务数据接口"一样15.EPG 信息获取接口(epg_getChannelInfo.php )开始算出请求了哪些日期的EPG 信息是否取出了所有请求日期的信息Y此频道是否有当前日期的EPG 缓存NYN此频道是否有当前日期的节目单缓存从数据库读取此频道当前日期的节目单信息返回节目单,生成此频道当前日期的节目单缓存此频道是否已经整理过获取每个节目的分类信息分类是爱奇艺分类是CNTV分类是优酷节目类别为爱奇艺节目类别为CNTV节目类别为优酷节目类别留空并生成此频道当前日期EPG 列表缓存YNYYNN读取缓存节目单结束返回全部EPG 信息N加载该频道当前日期的EPG 缓存信息YNY问题:现在这个缓存的生命周期是一个小时,还有一种方案,就是这个生命周期直接设定为24小时,每次EPG 整理以后自动更新?16、PF 信息获取接口(epg_getPfInfo.php )开始Y是否指定频道结束NY是否绑定运营商返回该运营商所有频道的PF 信息返回空数据N返回当前频道的PF 信息18.获取影片详细信息接口(epg_MovieInfo.php )开始是否有当前影片播放源的缓存结束NY 不再提供短视频服务解析出视频类型和视频ID获取category 中该影片视频类型是S视频类型是C视频类型是O视频类型是L获取爱奇艺中该影片信息通过API 获取Viku 播放信息NNNN生成该影片播放源缓存NY YY 视频编号格式错误读取影片缓存问题:视频编码格式错误的情况下,就不处理了吗?不处理恐怕不好,19.获取影片播放源信息接口(epg_SourceInfo.php )开始是否有当前影片播放源的缓存结束NY 不再提供短视频服务解析出视频类型和视频ID获取category 的播放源信息视频类型是S视频类型是C视频类型是O视频类型是L获取爱奇艺的播放源信息通过API 获取Viku 播放信息NNNN生成该影片播放源缓存NY YY 视频编号格式错误读取影片源缓存问题:视频编码格式错误的情况下,就不处理了吗?不处理恐怕不好,20.获取影片指定播放源信息接口(epg_DiversityInfo.php )开始是否有当前影片播放源的缓存结束N Y 不再提供短视频服务解析出视频类型和视频ID 获取category 的指定源信息视频类型是S 视频类型是C 视频类型是O 视频类型是L 获取爱奇艺的指定源信息通过API 获取Viku 播放信息N NN N 生成该影片缓存NYY Y视频编号格式错误读取影片缓存问题:这个接口不对吧?不是获取播放源信息吧?应该是获取播放地址吧?21.点对点推送接口(多屏互动的推送)(epg_androidpn.php )开始视频标示是T 结束YN视频标示是V获得该频道排序值将排序值传递给数据接口Y影片类型是优酷将影片信息传给数据接口获得该频道排序值Y22、互动问题回答接口(epg_Answer.php )开始N给出正确答案ID Y题目类型是ss结束获取用户ID本次互动信息写入用户互动表获取答案列表和题目类型返回互动信息23、广告图片接口(epg_Advertisement.php )开始NY 是否有广告图片缓存该用户所属运营商是否有广告图片获得该运营商下的广告图片结束生成广告图片缓存读取缓存,直接返回广告信息不限制运营商取得广告图片N 返回广告列表,并归类Y问题:这个接口下一步肯定要重新定义,请一定注意24.JS 文件升级接口(epg_JsUpgrate.php )开始读取最新发布状态的JS结束问题:判断升级条件是什么?25、解析失败URL上传接口(epg_FalseUrl.php)开始将该URL的详细信息写入数据库结束问题:注意sql注入特殊字符的处理26.频道昵称版本接口(epg_channel_nickver.php)开始获取频道最新的更新时间结束问题:现在就是获取频道最新更新时间吗?27.频道昵称接口(epg_channel_nickname.php)开始获取指定频道的昵称列表Y是否有当前频道昵称的缓存信息结束生成缓存,返回信息N 加载缓存信息。
SoapUI测试SAP的Web Service

使用SoapUI测试SAP的Web Service我们经常会遇到SAP系统与外部系统对接的需求,而web service就是一个比较好用的工具。
下面讲解一下如何测试web service以及调试。
1.安装SoapUISoapUI可以在网上找到免费开源的版本,我的是Mac电脑,目前最新的是Soapui 5.4.0。
安装过程省略2.打开soapui如下图所示然后在Project上右键,选择New SOAP Project然后在Initial WSDL里面添加发布的web service地址然后在Project那里就会出现添加的接口双击Request 1就会出现如图所示的接口字段然后添加接口连接到SAP的账号,找到如上图所示的Auth,点击如下图所示的,选择Add New Authorization然后在弹出的界面选择OK,如下图所示:然后输入账号和密码(web service接口连接SAP的账号和密码,需要对话类型的账号,不然无法打外部断点)。
输入完之后,点击Auth隐藏账号界面然后就出现如下图所示:上图中打问号的地方就是需要填写值的地方。
当填完一些参数之后,点击执行,就能得到一些返回结果,如下图所示这说明接口就是通的。
特别需要注意的地方是:在使用soapui来测试sap的web service时,日期,数量,金额字段因为类型不一样,要么不传值,将参数里的问号去掉,要么就是传一个类型正确的值,不然接口不会通的。
如果接口不通,可以到服务器端查询也可以打外部断点来进行调试。
本文档是写给媳妇儿Yuna看的。
所以我只保证她能看懂。
其他人如有不懂的地方,请参考网络上的其他文档,谢谢!。
webservice接口请求方法

Webservice接口请求方法一、概述Webservice是一种基于网络的应用程序接口(API),它能够通过网络来创建和提供服务。
在日常开发中,我们经常需要与其他系统进行交互,并获取相应的数据或服务。
Webservice接口请求方法就是用来实现这一目的的。
二、Webservice接口请求的方式1. HTTP GET请求:当我们需要从Webservice接口获取数据时,可以使用HTTP GET请求。
通过在URL中附加相应的参数,可以向服务端发送请求,并获取相应的数据。
GET请求的参数会以键值对的形式出现在URL中,例如:xxx。
2. HTTP POST请求:如果需要向Webservice接口提交数据,可以使用HTTP POST请求。
通过向服务端发送POST请求,我们可以将数据放入请求的body中,并提交给服务端进行处理。
3. SOAP请求:SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,通过SOAP请求可以实现不同评台之间的通信。
这种方式一般需要事先定义好XML格式的请求数据,并通过HTTP传输到服务端。
4. RESTful请求:RESTful(Representational State Transfer)是一种基于HTTP协议的设计风格,通过RESTful请求可以实现对资源的增删改查操作。
在RESTful请求中,通常使用HTTP的不同方法(如GET、POST、PUT、DELETE)来实现相应的操作。
三、Webservice接口请求的参数1. 请求URL:Webservice接口的请求位置区域,即服务端提供的接口位置区域。
2. 请求方法:即使用的HTTP方法,可以是GET、POST、PUT或DELETE等。
3. 请求头部:一些额外的请求头部信息,如Content-Type、Authorization等。
4. 请求参数:需要传递给服务端的参数,可以是键值对、JSON格式或XML格式的数据。
用ABAP实现webservice,发布SAP的xlm地址

创建的流程是:创建的步骤:1.使用向导创建一个web serviceA:SE80,找一个package,右键Create →Enterprise Service / WebService →Web Service.2.进入向导页面:继续:根据自己的情况选择:主要是根据需求来定的,如果是个function,就可以选择function继续:选择自己需要的BAPI,注意:需要增加BAPI Commit/Rollback2.释放定义的WEB SERVICEA:TCODE:WSCONFIG输入创建的名字及变式,点击创建,然后保存就可以了B:TCODE:WSADMIN找到自己的创建web名字,点击左上角的Web service--WSDL就可以打开,但这个需要在host及主机上配置,所以不再这里演示-------------------------------------ABAP 创建并调用WebService(原创)2010-04-28 16:51一. 创建Webservice有两种方式创建webservice,一种是在se80中使用wizard生成,另一种是直接在se37中给予function生成,具体操作如下:1.se80中Create-->Enterprise Service/Web Service --> Web Servcie维护service名,选择一个poit type(type point为一个功能点:如,Bapi中的Method,FunctionGroup中的一个function,一个function或者Message Interface:XI)2.se37 Utility--> More Utility --> Create WebService -->From the Function Module在创建完成的时候可以选择立刻release,否则需要在wsconfig中进行release。
WEBSERVICE接口实例说明文档

WebService接口说明文档文档说明本文档主要讲述如何用C Sharp创建一个简单的Web Service接口,并使用Java调用这个Web Service接口。
准备工作系统环境:安装JDK1.6或更新版本开发工具:Microsoft Visual Studio2012、MyEclipse10.5、axis2-1.6.2C Sharp服务端1.首先,创建一个Web Service项目。
依次点击:文件—新建—项目,在弹出的新建项目窗口中选择Web下的空Web应用程序。
如下图:2.接下来我们需要创建我们的Web Service接口实现文件。
鼠标右击我们的项目,依次点击:添加—新建项,在弹出窗口中选择Web服务。
可修改新建项的文件名,注意文件名后缀后.asmx。
如下图:新建完成后我们的项目结构如下:3.打开我们新建的MyService.asmx下的MyService.asmx.cs文件,可以看到其中已经有默认的HelloWorld方法。
我们可以直接运行查看下运行的效果,效果如下图:点击HelloWorld,再点击调用可以看到页面返回:4.接下来我们完善我们的Web Service接口功能。
主要对Web Service接口进行参数类型的测试,文本型、布尔型、数值型、类(Class)等。
新增Add()等运算方法:新增strcat()连接字符串方法:新增GetBool()返回布尔值方法:新增GetTest()返回测试类,并新增Test类运行我们的项目,可以看到我们的结果如下图:点击add方法测试:输入add的参数i和j点击调用按钮,可以看到返回计算结果:5.到此为止我们C Sharp创建的Web Service程序完成。
接下来看Java如何调用我们的Web Service接口。
Java调用Web Service准备对于一个Web Service接口我们当前只知道访问的地址,我们如何用Java去访问接口呢?已知Web Service接口地址:http://localhost:11766/MyService.asmx?WSDLJava调用Web Service的方式有以下1.使用HttpClient2.使用Xfire3.使用axis2本文档示例选择的是axis2,首先到axis2网站下载axis2,网址:/axis2/java/core/download.cgi当前最新版本1.6.2。
SAP常用接口讲解

RFC
RFC(Remote Function Call) SAP为多种语言及相关的操作系统提供RFC库(其中包含RFC API)及
SAP连接器。连接配置操作简单。为Java提供的Java Connector(JCo),为 C和C++提供的RFC SDK(RFC Software Development Kit),为.NET(C#, 等)提供的 .NET Connector(NCo),为Louts Notes 提供的Louts connector 。RFC分为同步和异步的,队列RFC,事务性RFC。
6
ALE/IDOC
IDoc多用于在SAP系统之间的传输数据,IDoc对接收端的配置人员要求高。 IDOC入站处理:
1)应用层:生成应用数据 2)ALE层:创建出站IDOC 3)通讯层:寻找伙伴和端口 4)发送 IDoc IDOC入站处理: 1)通讯层:接收入站端口传来的数据. 2)ALE 层:创建入站IDOC并通过伙伴参数文件查找IDOC处理类型. 3)应用层:写入文档.
SAP高端项目实战第一品牌
数位资深项目经理多年经验总结
SAP ECC ABAP 高端实战课程
敲开通向SAP金领行业的大门
ABAP_Unit12
SAP常用接口
了解并掌握SAP常用的接口
2
内容
SAP ABAP课程——单元12
SAP常用接口 • Webservice • ALE/IDOC • RFC • BAPI • Middleware
根据外部系统提供的webservice的wsdl地址,在SAP系统创建 webservice consumer时候输入该URL。使用SOAMANAGER创建逻辑端口, 封装函数,在函数里指定端口,并调用类的方法,反之,创建webservice provider,生成wsdl供外部调用。
使用SAP_NetWeaver_Developer_Studio_7[1].1发布WebService到NetWeaver
![使用SAP_NetWeaver_Developer_Studio_7[1].1发布WebService到NetWeaver](https://img.taocdn.com/s3/m/35304008f78a6529647d53cb.png)
使用SAP NetWeaver Developer Studio发布WebService到NetWeaver1概述本文档描述了使用SAP NetWeaver Developer Studio(以下简称NWDS)发布WebService到NetWeaver的操作流程。
2准备工作2.1目标服务器主机名配置如果操作系统中还没有对发布Web Service的目标服务器的主机名进行配置,则需要进行如下配置。
1.在%windir%\system32\drivers\etc路径下找到名为hosts的文件,用记事本打开,以如下格式添入记录:目标主机IP 目标主机名如:127.0.0.1 localhost2.如果有多个目标服务器主机,则每个主机对应添入一行记录。
全部填写完毕后保存退出。
2.2nwds中目标服务器配置如果NWDS中还没有添加发布Web Service的目标服务器,则需要进行如下配置。
1.在NWDS中选中菜单项Window->Preferences,打开参数配置对话框。
2.选择SAP AS Java项,在Instance host中填入目标服务器主机名或IP,在Instance number中填入系统编号。
点击Register SAP Instance按钮系统将自动在网络中寻找相应服务器实例并自动载入服务器相关信息。
3.如果系统中还未配置过任何服务器,则配置完成的服务器将被系统设为默认SAP系统。
在服务器配置中必须要有一个服务器为默认SAP系统。
NWDS中可以注册多个服务器实例并修改默认服务器配置,也可以点击Remove SAP System来移除已注册的服务器。
注册完所有要注册的服务器以后,点击OK 退出配置。
2.3打开Servers窗口Servers窗口可用来察看配置好的服务器,并且可在该窗口进行WebService 的发布。
在当前视图下如果看不到该窗口,可以通过以下步骤打开。
1.选择菜单项Window->Show View->Other,打开显示窗口对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP开发webservice接口教程
在client=100中进行开发:
1.创建RFC函数
SE80,在函数组下,右击->创建,创建函数模块,填写函数模块名称及描述。
2.函数属性标签页,选择“远程启用的模块”,其余默认不变。
3.函数导入标签页,需要添加调用时传入的参数(表),“传递值”需勾选。
表类型:ZSHR_EMPLOYEER_T (需要自己创建)
行类型:ZSHR_EMPLOYEER (需要自己创建)
4.函数导出标签页,需要添加调用返回的参数(表),“传递值”需勾选。
表类型:ZSHR_EMPLOYEER_OUT_T (需要自己创建)
行类型:ZSHR_EMPLOYEER_OUT (需要自己创建)
5.函数源代码标签页,需要写代码实现把传入的数据保存在透明表中。
至此,函数创建完成。
6.创建Web Services
右击包名创建企业服务,进入如下页面,选择“Service Provider”,因为我们是服务提供者,点击“继续”。
7.选择“Existing ABAP Object (Inside Out)”,点击“继续”。
8.给服务起名,并填写描述,点击“继续”
9.选择“Function Module”,点击“继续”。
10.填写我们第一步创建的函数,并勾选“Map Name”,点击“继续”。
11.SOAP Appl默认不变,Profie下拉框选择第四个选择,即不进行权限认证。
点击“继续”。
12.填写对于的包和请求,点击“继续”。
下一步,直接点击“完成”。
服务创建成功。
13.配置SOA
使用T-CODE:soamanager,进入web页面的SOA管理(client=100)。
14.点击“简化Web服务配置”,进入如下设置页面,点击“执行”,从列表中找到自己创建的
服务,勾选第一个checkbox,User Name/Password(basic),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。
这一步设置,代表我们只设置用户名/密码的调用认证方式。
15.点击技术管理参数文件创建参数文件
16.点击“下一个”按钮,认证方式依然选择“User ID/Password”,其他都默认,直至完成。
17.点击服务注册表服务注册表消费者设置服务注册表连接创建。
18.输入“注册表”,点击“下一个”,输入完点击“完成”。
以上两步设置了,外部用户调用接口时的一些参数,及用户名/密码。
19.点击web服务配置,根据如图所示的条件,搜索到前面创建的服务。
20.点击上图的内部名称,查看服务的详细信息。
21.点击操作栏,垃圾桶后面的按钮,即可查看生产的WSDL URL。
把这个URL提供给需要的用
户,就可以调用我们的接口了。
(注:可编辑下载,若有不当之处,请指正,谢谢!)。