SAP WebService开发设定及呼叫
SAP访问WebService配置与操作
示例代码:
REPORTZCALL_WS_TEST.
DATA: TESTSERVICETYPEREFTOZTESTCO_TEST_SERVICE_SOAP,
ADD_INTYPEZTESTADD_SOAP_IN,
ADD_OUTTYPEZTESTADD_SOAP_OUT.
PARAMETERS: ATYPEI,
部WebService操作、配置手册
强晟、周清湘
本手册示例WebService的服务声明地址:http://192.168.104.26/WebServiceTest/TestService.asmx?WSDL
它里边有一个Add方法,传入两个参数,返回两个参数之和。
在本地IIS中可以测试这个方法
点击调用,可以返回结果字符串,如下图
出现此结果,则说明WebService没有问题。
打开RFC终点维护界面(事务码:SM59),显示下图界面
点击创建按钮,创建一个RFC终点
输入名称、描述、目标系统地址和端口,点保存。
打开对象导航器(事务码:SE80),如下图,
右键,依次是Create->Enterprise Service/Web Service->Proxy Object创建代理对象
BTYPEI.
START-OF-SELECTION.
CREATEOBJECT TESTSERVICE.
ADD_IN-X= A.
ADD_IN-Y = B.
CALLMETHODTESTSERVICE->ADD
EXPORTING
INPUT= ADD_IN
IMPORTING
OUTPUT= ADD_OUT.
WRITE: / A,'+',B,'=',ADD_OUT-ADD_RESULT.
(整理)WebService与SAPECC系统服务发布与调用.
SAP ECC系统Web Service服务发布与调用目录Web Service概念 (3)ECC 6.0 SP14之后版本 (4)发布Web Service服务: (4)1. SE37创建Function (4)2. SE80创建服务 (5)3. SOAMANAGER配置服务 (7)调用SAP系统发布的Web Service服务 (10)1. SE80创建代理 (10)2. LPCONFIG创建Logical Port (11)3. 测试代理 (13)调用外部异构系统发布的Web Service服务 (15)1. SE80创建代理 (15)2. LPCONFIG创建Logical Port (16)3. 测试代理 (17)ECC 6.0 SP14之前版本 (19)发布Web Service服务: (19)1. SE37创建Function (19)2. SE80创建服务 (20)3. WSCONFIG (23)4. WSADMIN (26)调用Web Service服务。
(29)1. SE80创建代理 (29)2. LPCONFIG创建Logical Port (30)3. 测试代理 (31)Web Service概念简单来说,Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
注:SOAP协议(Simple Object Access Protocol,简单对象访问协议),它是基于XML的用于分散和分布式环境下网络信息交换的通讯协议。
在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。
它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
webservice接口调用方法
webservice接口调用方法Web服务(Web service)是指一个网络服务,通过互联网进行通信的应用程序接口(API),使用标准的HTTP协议进行数据传输和交互。
它使用SOAP(Simple Object Access Protocol)来封装数据,以XML格式进行传递,可以在多种平台上进行调用,独立于编程语言和操作系统。
调用Web服务的方法如下:1.确定服务地址和方法:首先要确定要调用的Web服务的地址和要调用的方法。
通常,服务地址是一个URL(Uniform Resource Locator),可以在文档中找到。
2.创建SOAP请求:根据要调用的方法创建一个SOAP请求。
SOAP 请求是一个XML文档,根据服务的定义,包含要调用的方法名和方法参数。
可以使用各种编程语言和工具来创建SOAP请求,如Java的JAX-WS、Python的suds等。
3.发送请求:将创建的SOAP请求发送给Web服务。
可以使用HTTP POST或其他协议将请求发送给服务的URL。
请求与服务之间的通信是通过HTTP协议完成的。
4.解析响应:接收到Web服务的响应后,需要解析响应的内容。
响应是一个XML文档,包含服务返回的数据。
同样,可以使用各种编程语言和工具来解析XML响应,提取所需的数据。
5.处理响应:根据需要处理响应的数据。
可以将数据保存到数据库中,显示在用户界面上,或者进行其他操作。
6.处理错误:如果在调用Web服务时发生错误,需要处理错误。
可能会遇到网络连接问题、服务不可用、权限问题等。
根据错误类型,可以采取不同的处理方式,如重试请求、记录错误信息等。
7.错误处理:同样重要的是处理错误。
如果在调用Web服务时发生错误,需要处理错误。
可能会遇到网络连接问题、服务不可用、权限问题等。
根据错误类型,可以采取不同的处理方式,如重试请求、记录错误信息等。
8.安全性:在调用Web服务时,需要确保数据的安全性。
可以使用加密和数字签名等技术来保护传输的数据。
Webservice 配置
Webservice 配置1.,登陆SAP GUI,se80创建package,在USER ACCESS TAB中配置两个INTERFACE 如下图:2,在PACKAGE下创建FUNCTION GROUP 及FUNCTION,并写入简单的测试代码:注意PASS VLAUE选项要勾住3,右键点击function module –》create-》web servce,弹出创建web service的向导画面:输入web service代理类的名称,类型选择function moduleName mapping 去掉勾选Deploy service 选项勾住输入PACKAGE 和transport request number完成向导可以看到在ENTERPRISE SERVCES 中可以看到刚创建的代理类zwst44,在浏览器中输入http://<sapserver.domain.toplevel>:<icmport>/sap/bc/bsp/sap/WebServic eBrowser/search.html在BY NAME 中输入FUNCTION MODULE 的名字,回车,可以查看到该FUNCTION 已经生成WSDL文件点击FUNCTION 名后面对应的WSDL?即可查看WSDL文件下载并将其保存为WDSL格式。
另外:也可以输入TCODE soamanager ,查看Webservice是否发布成功:点击Application and scenario communication -> single service administration在页面中输入生成的代理类名称,如果下面的service 和endpoint 中显示“1”则发布成功,如果为“0”则没有成功。
如果为零时,点击Configration标签页,如下图所示点击Create service,弹出窗口三个输入框中添加该Web service名称。
WebService服务调用方法介绍
WebService服务调用方法介绍WebService是一种基于网络的互操作技术,可通过简单对象访问协议 (SOAP) 来实现不同平台和编程语言之间的通信。
WebService服务调用方法是指通过客户端应用程序与后端WebService进行通信,实现数据传输和功能调用的过程。
下面将详细介绍WebService服务调用方法。
1. 了解WebService服务:在使用WebService服务之前,首先需要了解所需要调用的WebService服务的接口、方法以及参数。
通常,WebService会提供一个WSDL(Web Services Description Language)文件,其中定义了WebService的接口和方法信息。
通过WSDL文件,客户端可以获取到所有WebService接口的详细描述和相关信息。
2. 创建客户端应用程序:为了调用WebService服务,需要创建一个客户端应用程序。
这可以是一个使用特定编程语言编写的应用程序,如Java、C#等。
在客户端应用程序中,需要导入和使用与WebService相关的库和类,以便在应用程序中调用WebService服务。
3. 创建服务代理:客户端应用程序需要创建一个用于与WebService 服务进行通信的代理。
代理是客户端应用程序与WebService服务之间的中间层,它用于封装与WebService的通信细节,并提供一种方便的方式来调用WebService服务的方法。
根据不同编程语言和框架的要求,可以通过使用类似“wsimport”或“svcutil”等工具来生成代理类。
4. 调用WebService服务方法:通过创建的代理类,客户端应用程序可以直接调用WebService服务的方法。
在调用方法之前,需要根据WebService服务的接口定义传递正确的参数。
参数的传递通常是通过创建请求对象并为其设置相应的属性来完成的。
请求对象将包含需要传输给WebService服务的数据。
SAP WebService
Step-by-Step Guide: SAP as web service server 其实用web service 已经是很长时间以前的事情了,昨天随便做了一个小例子,一步一步的引导初学者如何去创建一个sap web service ,以及如何在VB 中调用sap web service ,和如何通过abap 程序调用web service 。
1. 写一个简单的RFC 函数:该函数有一个输入字段,一个输出字段,功能就是把输入的字段再输出.本地测试:www.a ba pt e ch .c om2. 根据这个函数创建web service:然后web service 的创建向导会出现: 2.1. 欢迎界面www .a b a pt e c h .c om2.2 填写service 信息2.3 关联函数2.4 选择profilewww.a ba pt e ch .c om2.5 完成3. 执行完以上步骤,保存,并且激活web service4. 释放SOAP runtime web service(WSCONFIG):ww w.a b a pt e ch .c om5. 测试web service(WSADMIN):www.a ba pt e ch .c om如果做到这里都一切顺利的话,你的web service 已经可以被其他程序调用。
ww w .a ba p t e ch .c om。
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 NETWEAVER创建并调用WEB SERVICE
基于SAP NETWEAVER创建并调用WEB SERVICE1创建一个WEB SERVICE本文档中的操作过程是在XI上完成的。
用一个可远程调用的Function Module创建WEB SERVICE有两种办法:1.1方法一1.进入Object Navigator(事务码SE80),选择任意一个包,在包名上点击右键,选择弹出菜单中的Create->Enterprise Service/Web Service->Web Service。
启动服务定义向导对话框。
2.点击Continue进入下一步。
3.在Service Definition中填入Web Service的名称,Short Text中填入简要说明,Endpoint Type中可以选择BAPI、Function Group、Function Module和Message Interface四种类型,本例中是以Function Module为例来创建Web Service的,所以Endpoint Type中选择Function Module。
完成后点击Continue继续。
程调用的Function Module是不能创建成Web Service的。
完成后点击Continue继续。
5.选择Web Service的安全设置,有两种设置可供选择:Basic Auth SOAP Profile:基于SOAP 1.1的无状态HTTP信息和简单验证。
Secure SOAP Profile:基于SOAP 1.1的无状态HTTP信息,强验证和传输保护。
本例中选择第一种方式。
将Release Services for Runtime勾上可以在创建Web Service的同时将其发布至SOAP Runtime。
如果现在不发布也可以在创建好Web Service并保存以后在事务WSCONFIG中发布。
6.点击Complete完成向导。
7.填入一个包名,创建好的Web Service将存放于此包下,点击按钮保存。
sap创建用户webservice方法
sap创建用户webservice方法我们需要了解什么是Web Service。
Web Service是一种基于标准化的协议和格式,用于在不同的系统之间进行通信和交互。
在SAP 系统中,我们可以使用Web Service来访问和操作系统中的各种功能和数据。
在SAP系统中,创建用户是一个常见的操作。
通过Web Service,我们可以将用户创建的过程自动化,减少人工操作的时间和错误。
下面是使用SAP创建用户Web Service方法的步骤:1. 首先,我们需要在SAP系统中创建一个Web Service。
在SAP 系统的事务代码SE80中,选择创建一个新的Web Service。
我们需要为Web Service指定一个名称和描述,并选择相应的服务类型。
在创建Web Service的过程中,我们需要定义输入和输出参数,以及相应的数据类型和结构。
2. 一旦Web Service创建完成,我们需要在SAP系统中定义一个适当的访问角色。
这个角色将决定谁可以访问和使用这个Web Service。
我们可以在SAP系统的事务代码PFCG中创建一个新的角色,并为这个角色分配相应的访问权限。
3. 接下来,我们需要在SAP系统中定义一个相应的用户创建函数模块。
这个函数模块将根据输入的参数来创建新的用户。
我们可以使用SAP系统的事务代码SE37来创建一个新的函数模块,并定义相应的输入和输出参数。
在函数模块中,我们可以使用SAP系统提供的各种功能和方法来实现用户创建的逻辑。
4. 一旦函数模块创建完成,我们需要将这个函数模块与之前创建的Web Service关联起来。
在SAP系统的事务代码SE80中,选择相应的Web Service,并在其中定义一个新的操作。
在操作中,我们需要指定相应的函数模块,并定义与之相关的输入和输出参数。
5. 最后,我们可以使用SAP系统提供的工具来测试和调试这个Web Service。
在SAP系统的事务代码SOAMANAGER中,我们可以找到相应的Web Service,并使用自动生成的测试工具来进行测试和调试。
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),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。
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,在右边可以看到了。
SAP Web Service开发介绍
11
SAP调用Web Service
1. 获取已经发布的Web Service的WSDL; 2. SOAMANAGER创建Logical Port; 3. ABAP代码调用;
通过Web Service可以方便、快速的实现SAP系统与C#系统、Java系统 或.Net系统等实现集成。
2
Web Service概述
WSDL(Web Services Description Language) Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描
述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。 因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。通过解 析WSDL文件,可以知道相应Web Service的调用地址、方法和参数。PS: 一个 Web Service可以同时包含多个方法,它们通过同一个地址调用,通过不同的 SOAP Action区分。
UDDI(Universal Description, Discovery, and Integration) UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式
的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使 企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实 现标准。
w3C 对 web 服务给出了简单而明确定义: Web 服务是一个可支持机器到 机器网络协同操作及交互的软件系统可以将 web 服务理解为可以通过网络(如 互联网)访问,并在远程系统中执行的的 Web API。
安装PI之前在SAP中创建WebService
这篇文章里可能有一些不准确的地方,因为现在的系统已经进行过升级,现在留下的只有以前的一些文档,并且此文是根据以前的资料凭借记忆写的。
下面将以发布Function Module对象举例说明1. 编写Function Module,并将其标志为“Remote-Enabled Module”2. 定义WebService,可以基于Function Group或者Function Moudle定义,此处以Function Group为例。
通过SE80或者SE37,进入该函数组或者函数,选择菜单路径:Utilities -> MoreUtilities -> Create WebService -> From The Function Group3. WebService定义向导4. 填写WebService名称、描述、Endpoint类型5.输入要作为WebService的函数组,此处由于是直接进入函数组然后创建的WebService,所以系统自动带出不需要输入。
Name Mapping:If the flag 'Mapping of Names' is set, the existing labels for the endpoint arecopied. Only the beginning letters are uppercase letters and underscores are removed.这个选项选与不选对变量的命名产生影响,一般情况下不用勾选。
如果勾选,则WebService的SOAP-Namespace为urn:sap-com:document:sap:soap:functions:mc-style(规则举例:RFC_SYSTEM_INFO->RfcSystemInfo)如果不勾选,则WebService的SOAP-Namespace为urn:sap-com:document:sap:rfc:functions(变量命名与ABAP中的完全一致)命名转换规则可参见6.选择WebService提供的“服务”,实际上就是提供哪些接口函数,如果是基于Function Moudle直接创建WebService没有这一步7.选择安全相关设置,关于下面的选项向导已经说明,就不再赘述。
调用sap webservice 语言
调用sap webservice 语言全文共四篇示例,供读者参考第一篇示例:调用SAP webservice,即通过在SAP系统中创建和发布webservice,使得外部系统可以通过网络调用这些webservice,实现与SAP系统的数据交换和业务逻辑执行。
在实际应用中,调用SAP webservice 可以完成诸如查询SAP系统中的数据,创建、修改、删除SAP系统中的记录,执行SAP系统中的事务等一系列操作。
这种轻量级、灵活性强、易于集成的方式,使得调用SAP webservice 成为了企业间互联互通、实现复杂业务流程的重要方式。
为了调用SAP webservice,首先需要通过SAP系统内的webservice工具,如SAP Web Service Navigator 或者SAP NetWeaver Developer Studio (NWDS) 创建和发布webservice。
在创建webservice 的过程中,需要定义webservice 的接口,包括webservice 的操作方法、输入参数和输出参数等信息。
一旦发布了webservice,外部系统就可以根据已定义的接口信息,通过网络调用这些webservice。
对于外部系统来说,调用SAP webservice 主要包括以下几个步骤:第三步,处理webservice 返回结果。
当调用SAP webservice成功后,SAP webservice 会返回相应的结果,通常是一个XML 格式的文档。
webservice 客户端程序需要解析这个文档,提取出需要的数据,对返回结果进行处理。
一般来说,webservice 客户端程序会将返回结果转换成本地数据格式,以便后续的数据处理和显示。
调用SAP webservice 的过程虽然相对复杂,但是通过合理的规划和设计,可以实现高效、灵活、可靠的数据交换和业务集成。
在实际应用中,调用SAP webservice 可以帮助企业快速、准确地获取SAP系统中的数据,实现与其他系统间的无缝对接,推动企业的信息化和数字化转型。
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的字典。
sap ecc Web Service发布与调用
SAP ECC系统Web Service服务发布与调用目录SAP ECC系统Web Service服务发布与调用 (1)Web Service概念 (3)优势 (3)局限性 (3)ECC 6.0 SP14之后版本 (4)发布Web Service服务: (4)1. SE37创建Function (4)2. SE80创建服务 (5)3. SOAMANAGER配置服务 (7)SOAMANAGER需要的权限 (7)调用SAP系统发布的Web Service服务 (10)1. SE80创建代理 (10)2. LPCONFIG创建Logical Port (11)3. 测试代理 (13)调用外部异构系统发布的Web Service服务 (15)1. SE80创建代理 (15)2. LPCONFIG创建Logical Port (16)3. 测试代理 (17)Web Service概念简单来说,Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
注:SOAP协议(Simple Object Access Protocol,简单对象访问协议),它是基于XML的用于分散和分布式环境下网络信息交换的通讯协议。
在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。
它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
优势1.跨平台。
2.支持度高,SOAP协议是基于XML和HTTP这些业界的标准的。
3.数据是以ASCII文本的方式而非二进制传输,调试方便,并实现跨防火墙通信。
4.技术难度低,开发周期短,Web Service实现的技术难度远远低于CORBA和DCOM。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
因為先前開發商業本票(VB6→.NET→WebService)介接Sap借款資料,加上最近有聽到WebService設定問題
所以測試了一下在SAP上WebService開發及設定功能,以下為測試畫面(不涉及太多細節,設定部份follow顧問),大家可以參考看看
若各位同仁未來有需要在Sap上開發webService,希望以下資料有所幫助,謝謝。
▼首先開發一個RFC的function moduler,主要將下圖的Remote-Enabled module勾選
▼設定function使用到的參數(之後利用工具自動做service參數mapping,包含strcture及table皆可自動轉換)
▼程式碼(傳入一wbsID傳回Wbs說明)
▼點選下圖功能設定WebService
▼輸入Service定義名稱及說明(可與function moduler名稱不同)
▼Function moduler名稱
▼這裡的profile顧問是選PRF_DT_IF_SEC_NO,也就是在此不做驗證(但會在後續的另一個功能設定)
▼純測試,先選本端物件(代表Webservice應該也可以transport)
▼設定完畢後,會出現相應的設定
▼屬性內比較重要的是Endpoint(也就是呼叫的function)
▼工具自動幫我們處理參數轉換
▼組態,基本上顧問也都維持預設(上面驗證的設定會影響Security Profile的設定)
▼自動生成WSDL(但還不是最終我們需要的WSDL,後面會提到)
▼預設
▼輸入交易代碼:SOAMANAGER (系統會自動跳出瀏覽器做後續的設定)
▼依下圖選擇“Single Service Administration”
▼搜尋我們定義的Service
▼按”apply Selection”定義Service及Endpoint(這才是真正對外界的interface,系統會Bind上Soap資訊)
▼輸入以下資訊
▼設定驗證資訊(基本上勾選User ID/Password,則存取WebService時需要輸入特殊權限的一組Sap帳號密碼)
▼也可勾選”No Authentication”不驗證並預先輸入有權限的Sap帳號密碼(但不建議這樣做),這樣client 呼叫時就不需要身份驗證
▼之後按存檔
▼接著點選”Display selected Binding’s WSDL URL”顯示Bind後的WSDL的URL
▼利用.NET的Web Service工具將WDSL轉換為Proxy Class,之後就可呼叫Sap的WebService,以下為呼叫畫面
▼.NET搜尋畫面
▼輸入WBS號碼
▼按下搜尋
▼回傳WBS說明
By klazid 2011/6/15
*************************************************************************************** 繼上次的SAP WebService開發及設定後,這次反過來,想和大家談談由SAP這端如何呼叫外部的WebService
以下是測試畫面(這次採用外網一個查詢匯率的WebService),希望對大家有所幫助,謝謝。
▼以下是此WebService的WSDL
▼由於SAP工具在connect此URL時會有問題,所以我先將wsdl存成本地檔案(不是每個URL都會有這問題)
▼接著利用以下選單建立代理程式
▼選擇“Servi ce Consumer”
▼這邊有三個選擇,一般來說選擇URL/HTTP,但因上述問題,所以我選擇Local FIle
▼選擇wsdl檔案
▼純測試,選擇”local Object”,另外填入自定的Prefix
▼系統自動產生”Proxy Class”
▼一樣,系統自動Gen出對應的參數及型態
▼這裡一樣將Security設為”None”
▼輸入T-code:SOAMANAGER(也可以按下圖右的圖示自動連結—要先Active Service Consumer ProxyClass)
▼一樣,選擇”Single Service Administration”
▼注意Search by為“Consumer Proxy“→”Apply Selectioin”
▼建立Logical Port
▼輸入Logical Port名稱及說明,一般來說選擇”WDSL Base Configuration”,系統會自動幫我們做一些後續設定
但這個case,系統無法解析我的本地WSDL檔案,所以我選”Manual Configuration”
另外若WDSL需要認證的話,可填入帳號密碼
▼認證方式
▼將Message ID Protocol改為”Supress ID Transfer”
▼因為必須呼叫外網的WebService,所以要設定Proxy Server(對有利用PROXY控管連線的狀況)綠色部份若選擇”WDSL Base Configuration”,則會自動設定
▼若選擇”WDSL Base Configuration”,則會自動設定
▼以下為呼叫的ABAP程式
▼以下為執行結果
By klazid 2011/6/15。