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发布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,打开显示窗口对话框。
SAPWebService简介与配置方法
SAPWebService简介与配置方法【版权声明】本文为博主原创文章,转载请在明显位置注明出处。
一、 SAP Web Service简介二、 SAP Web Service配置准备工作1. 通过RZ10配置服务器名称和其他参数2. 配置服务器被DNS解析(1)集中解析(2)单机解析3. 启用SOAMANAGER服务三、 SAP Web Service配置步骤和方法1. 外部访问SAP Webservice服务配置(Service Provider)(1)创建RFC函数(2)给RFC函数配置WS(webservice)(3)用SOAMANAGER生成WSDL(可供外部访问的XML链接)2. SAP访问外部 Webservice配置(Service Consumer)一、SAP Web Service简介SAP的web service是在Netweaver组件通过UDDI工具,采用SOAP和WSDL这两种web服务技术,将SAP已有功能封装成webservice对象,供其他系统调用或者调用其他系统的webservice,从而实现SAP与非SAP系统(如OA、PLM等)系统的集成。
SAP Netweaver提供了可以发布、查找并调用 Web 服务的工具(UDDI),可支持 NetWeaver 作为 Web 服务的服务器(Service Provider)或者客户端(Service Consumer),主要功能包括:①提供webservice。
它可以直接封装SAP的RFC、Function Group、BAPI、XI Message Interface等系统功能,以WEB标准协议在Internet上被其他系统进行调用;②消费webservice。
Netweaver通过创建代理能够通过Internet直接调用采用标准协议封装的其他系统提供的webservice;③提供AS ABAP和AS JAVA环境,允许开发者使用ABAP或者JAVA开发web服务。
SAP webservice
一、调试
1.Webservice调试srt_util,添加调用service账号
2.有效负载跟踪查看service调用,传输的数据
二、调用外部service
1.企业服务→服务消费者,创建WSDL地址,URL,输入地址,前缀为Z,完成后激活
2.soamanager,在消费者代理中查找,配置穿件,端口名为LP01,缺省勾上,输入URL地址
3.创建se38程序
Data:lo_sms_info TYPE REF TO zco_sms_info_send_port_type(Proxy Name). 输入输出参数为ABAP Name Ref
DATA: ls_input TYPE zsend_info_request,
ls_output TYPE zsend_info_response.
模式,abap对象模式确定,输入调用服务名称及方法名,(在se80双击服务名称可现实其中包含的方法,选中方法点击参数也可显示其中参数类型)
三、发布webservice
1.创建函数代码块
2.实用程序→更多实用程序→创建Web服务→来自函数模块(组)
服务定义ZWS_XXX,勾选Map Name,
,选择NO为无验证。
SAP和Java系统的Webservice实例
SAP和Java系统的Webservice实例关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术。
由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。
对于Webservice在SAP中的应用,多被用在系统同步要求高,数据传输负载小的接口开发上。
下面以SAP系统和外部系统的交互为例,SAP ECC系统两个、外部系统一个(Java EJB3 Jboss5),分别讲述从SAP到SAP,SAP到Java,Java到Java,Java到SAP的Webservice实例。
一、SAP系统间的Webservice调用SE37创建函数z_calculate,类型要设置为RFC类型,参数都设置为传值:function z_calculate.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(NUMBER1) TYPE STRING*" VALUE(NUMBER2) TYPE STRING*" VALUE(OPERATOR) TYPE STRING*" EXPORTING*" VALUE(RESULT) TYPE STRING*"----------------------------------------------------------------------try .case operator.when '+'.result = number1 + number2.when '-'.result = number1 - number2.when '*'.result = number1 * number2.when '/'.result = number1 / number2.when others.result = 'Not supported!'.endcase.catch cx_root.result = 'Not supported!'.endtry.condense result.endfunction.把函数发布成Webservice其他一路下来默认,完成后服务已经创建;接下来到SOAMANAGER中去找WSDL的URL,进入到Web service Administration界面,Apply selection => Overview => Displayselected Binding's WSDL URL,在右边可以看到了。
ABAP发布WEBSERVICE以及JAVA调用
ABAP发布Webservice以及JAVA调用方式ABAP发布Webservice一、输入se37或者se80创建WEBSERVICE二、Webservice创建成功后,输入事务代码SOAMANAGER注意:WINDOWS 中需要配置host 文件三、选择第二个也签中的第一个连接单击Open WSDL document for selected binding连接弹出:WSDL的地址<soap:addresslocation=":8000/sap/bc/srt/rfc/sap/zws_s ervic/300/zws_servic/zws_servic" />LOCATION 或者ACTION后的地址则是外部调用Webservice的地址逻辑端口也用如此方法创建JA V A调用ABAP发布的Webservice1.调用过程中存在问题及解决办法1.1无法利用AXIS2, CXF标准工具解析ECC发布的地址。
解决:利用IE访问Webservice地址,然后将其另存为*.xml文件利用CXF工具,编译该*.xml 文件,生成JAVA类。
输入:wsdl2java -d src - client http://Webservice。
附加:wsdl2java用法:wsdl2java -p com -d src -all aa.wsdl-p 指定其wsdl的命名空间,也就是要生成代码的包名:-d 指定要产生代码所在目录-client 生成客户端测试web service的代码将文件拷贝到程序中。
注意问题:1. 类文件中的包名需要修改,部分定义的-包.类-格式中的包也需要修改.2. 工具生成类的过程中,如果出现重名的情况(例如某类:TEST,但是有其他类应该是test,大小写不区分),一般只会保存一个类,需要手工添加缺少的类(可从其他代码的报错信息看出)。
1.2访问权限问题:访问的权限体现在http的体系中不同的调用方式,拥有不同的设置权限方法,以CXF为例:需要在解析后的**client类中添加代码:Client client = ClientProxy.getClient(port);HTTPConduit http = (HTTPConduit) client.getConduit();AuthorizationPolicy auth = new AuthorizationPolicy();auth.setUserName("gang.xu");auth.setPassword("654321");h ttp.setAuthorization(auth);1.3访问地址:ABAP会发布两种可以访问的WSDL地址;第一种::8000/sap/bc/srt/rfc/sap/ytest_service/300/ytest_service/ytest_service第二种::8000/sap/bc/srt/wsdl/bndg_DF511834C4CA61F1830600221999201E/wsdl11/allinone/ws_policy/document?sap-client=300JAVA解析及调用的是第二种地址;第一种发布出的Webservice服务,具体的方法等信息在第二种体现,2中,也包含了1的地址:<wsdl:service name="service"><wsdl:port name="YTEST_SERVICE" binding="tns:YTEST_SERVICE"><soap:addresslocation=":8000/sap/bc/srt/rfc/sap/ytest_ service/300/ytest_service/ytest_service" /></wsdl:port></wsdl:service>1.4调用方法根据生成的**client类,可以找到方法名,需要传入的参数等信息。
sap调用外围系统webService
需要搭建 IIS 服务器 本实例以 Windows Server 2008 为例子
15 / 32
安装 IIS 管理工具->服务器管理器
配置:角色->添加角色 配置 internet 信息服务(IIs)管理器
新建“WebSite” 在应用程序池中选择对应 WebService 的 NetFramework 的版本
进入如下设置
27 / 32
这个逻辑端口:ZXPROXY_SOA
也是后面程序:
* create an instance of proxy class
create object lo_proxy
exporting
logical_port_name = 'ZXPROXY_SOA'."SOAMANAGER
如果没有问题将进入如下界面
输入参数调试
14 / 32
单击调用可以测试这个 WebService 【说明】 WebService 的方法 SAPkunnr 就是 WebService 的方法 WebService 地址 http://localhost:2848/MyWebService.asmx WebService 解析描述 http://localhost:2848/MyWebService.asmx?wsdl (此解析也是后面 SAP 调用的描述语言地址) 如下图
7 / 32
2.点击 SqlExpress 的协议,我们要启动所有状态。
3.选择 TCP/IP,点击右键,选择属性,我们修改连接数据库的端口地址,非常 重要
8 / 32
4.修改三处,第一你查看下跳出来的对话框,里面有好多 TCP/IP 的端口。我们 要找的是三处。
WebService 实例--适用于ECC 6.0开发环境
WebService 实例SAP WebServiceCindyli2011-11-17yuqishow@目录简介 (3)准备工作 (3)SAP WebService 配置 (3)配置服务器 (3)SAP系统的WebService调用 (5)WebService所在系统配置 (5)FM创建 (5)WebService发布 (9)WSDL信息以及URL查询 (12)EndPoint地址查找 (14)WebService调用系统配置 (16)代理创建 (16)逻辑端口创建 (22)代理类测试 (23)Report开发 (26)简介关于WebService的概念和原理,简单来讲,WebService是一种基于SOAP 传输协议,用WSDL描述,用XML封装数据的接口技术。
由于其具有跨平台、跨防火墙、开发成本低、开发周期短等优势,所以而被广泛的应用。
但是该技术也有其本身的缺陷,比如:传输负载大,没有统一的实现模型等。
对于WebService在SAP中的应用,更多的被用在系统同步要求高,数据传输负载小的接口开发。
在首次应用Webservice技术的时候,我们需要对系统进行一些相关的配置工作,不然将无法运行WebService。
关于具体的设计过程,这里我将会以SAP最简单的计算器接口开发作为本章节的技术讲解背景。
准备工作本章节将逐步实现SAP系统与SAP系统之间、和外部系统之间的交互。
此时,我们就需要做以下准备工作:1.SAP ECC系统两个;2.外部系统一个(Java EJB3 Jboss5);本章节将会按照SAP到SAP、SAP到JAVA、JAVA到JAVA,JAVA到SAP 的WebService顺序进行实战练习。
SAP WebService 配置在不同的客户端,需要对该客户端进行配置方能够运行WebService。
具体的参考以下小节介绍。
配置服务器为了使系统能解析XML文件,我们需要进行相关的配置工作,该配置只需一次,以后就可以不必进行配置。
SAP开发webservice接口教程
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),点击列表左上角的“保存” ,之后页面右上角的“返回”按钮,返回首页。
webservice接口实现过程
说明:该文档以电子路演系统与ECM的WebService集成为例创建服务端一、搭建测试环境1 新建web工程OARSInterface,引入jar包将“E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\WebJarFiles”目录下的jar包引入。
引入的具体jar包如下:activation.jar;apache_soap-2_3_1.jar;axis.jar;axis-ant.jar;CEOperterMonitor.jar;CEService_IIOP.jar;commons-collections-3.2.jar;commons-discovery-0.2.jar;commons-fileupload-1.2.1.jar;commons-io-1.3.2.jar;commons-logging-1.0.4.jar;dom4j-1.6.1.jar;dom4j-1.6.1.jar;jaxen-1.1.1.jar;jaxrpc.jar;log4j-1.2.8.jar;mail.jar;saaj.jar;wsdl4j-1.5.1.jar。
其中可选包(发布服务及生成客户端程序是要用到的):activation.jar;mail.jar。
2 配置web.xml文件参照E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\客户端测试项目\OARSTest\WebRoot\WEB-INF\ web.xml进行配置,不需要进行修改二、接口开发在开发之前,我们先介绍与接口实现相关的两个jar包:CEOperterMonitor.jar和CEService_IIOP.jar。
CEOperterMonitor.jar:实现的是对接口操作的监控。
SAP新版SOAMANAGER下WebService配置
SAP新版SOAMANAGER下WebService配置随着SAP组件版本升级,原来的WEBSERVICE配置⽅式也有了很⼤变化。
配置WS的事务码SOAMANAGER也进⾏了升级,页⾯风格变化很⼤,配置⽅式和之前也有区别。
原来的⽼事务码LPCONFIG 已经⽆效了。
本⽂档所⽤组件版本如下图。
本⽂档只提供了SAP与SAP之间的WS通信配置和调试。
SAP和其他平台⽐如JAVA通信,恕本⼈⼒有不逮,但原理是⼀样的。
版本:1、建⽴被叫⽅,Called party 1.1 SE80部分。
调⽤已存在的函数实现。
函数代码后附。
FUNCTION ZFM_TEST02.*"-------------------------------------------------------------------- *"*"本地接⼝:*" IMPORTING*" VALUE(I_TEST) TYPE CHAR1 *" EXPORTING*" VALUE(E_MSG) TYPE TEXT100 *"-------------------------------------------------------------------- DATA:l_date LIKE sy-datum,l_time LIKE sy-uzeit.DATA:ls_test LIKE zttest01.l_date = sy-datum.l_time = sy-uzeit. CONCATENATE l_date l_time INTO ls_test-zdatetime. ls_test-test1 = i_test.MODIFY zttest01 FROM ls_test. COMMIT WORK AND WAIT.IF sy-subrc = 0.e_msg = '测试成功'.ENDIF. ENDFUNCTION.⽤到的表ZTTEST01的字典。
- 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提供给需要的用
户,就可以调用我们的接口了。
(注:可编辑下载,若有不当之处,请指正,谢谢!)。