SAP开发webservice接口教程

合集下载

Java以webservice方式调用SAP接口传输数据

Java以webservice方式调用SAP接口传输数据

Java以webservice方式调用SAP接口传输数据,在SAP中生成会计凭证/冲销会计凭证1.生成会计凭证(已完成)2.冲销会计凭证(以下教程截图以该接口为例)Java调用sap的webservie接口,即SAP作为webservice的服务端,java程序作为调用webservice服务的客户端。

1.获取SAP的webservice服务端接口的描述文件-WSDL文件;2.在apache的axis项目官方网站上下载axis代码工具包3.通过axis代码工具包和拿到的接口的WSDL文件,生成java的webservice客户端代码新建windows的批处理文件,内容如下set Axis_Lib=D:\axis-1_4\libset Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%set Output_Path=D:\axis-1_4\server%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% D:\axis-1_4\BC_FIDocCreate_Sender_SI_FIDocRev_OB.wsdl@pause将该批处理文件存储,然后在命令行窗口运行在D:\axis-1_4下生成了server目录,里面就是生成的客户端代码4.在MyEclipse中新建java web工程(??此处不是很确定,应该java工程也可以,在javaweb工程中也是直接通过main函数run的),将生成的webservice客户端代码导入,注意修改对应的HTTP和HTTPS地址,调用客户端请求数据参考附件打包的java工程代码Build Path设置,lib目录里面有很多jar包,实际该工程用到的没几个,如下图5.参看文档地址/bp-ab0a8b2dcfc789eb172dc814-1.html6.异常解决确保到目标地址的物理网络和对应端口没有被网管或防火墙屏蔽,如果请求webservice的服务器端有问题,可以根据java中抛出的异常信息跟踪和修改Webservice的调用本质上是一个http请求和响应的过程,可以在java代码中设置代理,然后使用http代理服务器软件记录http请求的请求头数据和返回的数据,跟踪异常情况,http代理服务器软件推荐burpsuit(黑客级工具,很好很强大,可以到网上搜破解版,如何设置和使用,请百度),通过代理服务器得到的http请求的请求头数据和返回的数据如下图附件java工程源代码下载地址链接: /s/1sjJnQMD密码: 6q3d作者联系方式:newker@ 百度空间: /newker1989。

sap与webserver(client)

sap与webserver(client)

1.在Web servers与外部系统进行数据交换时,可以快捷,方面进行数据交换,SAP系统中RFC经Web servers的封装后,可以减少ABAP和外围系统的开发量。

经在福建电力系统的接口开发中的实践,效果非常的好。

2.前提条件:(1)SAP 系统必需按装WEB application service 6.4版本以上的服务,或SAP XI 3.0版本以上的组件。

(2)在福建电力项目上,没有安装SAP XI 。

系统SAP webAS 是SAPWeb 6.4 以上,通过SOAP 的协议进行数据的交换。

Prerequisites for Using the Various Runtime Components3.WEB service 的开发分两大块:SAP调用外围系统的WEB service,SAP 的RFC经WEB service封装后给外围系统调用。

4.介绍SAP调用外围系统的WEB service.(1)SE80 创建proxy object在Enterprise Service 下会产生Clint Proxies 及 Data Types 两目录必须先创建代理类,然后跟据代理类创建逻辑端口(3)调用的方法如下:PROGRAM Z_TEST_LJN006.DATA: PROXY TYPE REF TO ZCO_HELLO_WORLD.DATA: PARAM type ZSAY_HI1.DATA: RESPONSE type ZSAY_HI_RESPONSE1.DATA: EXP type STRING.DATA: EXCEPTION TYPE REF TO CX_AI_SYSTEM_FAULT.START-OF-SELECTION.TRY.CREATE OBJECT PROXYEXPORTINGLOGICAL_PORT_NAME = 'TESTEAI'.CATCH CX_AI_SYSTEM_FAULT .WRITE / 'CX_AI_SYSTEM_FAULT FROM CREATE OBJECT'. ENDTRY.IF NOT PROXY IS INITIAL.PARAM-PARAMETERS-TEXT = 'AAAAAAA'.TRY.CALL METHOD PROXY->SAY_HIEXPORTINGSAY_HI = PARAMIMPORTINGSAY_HI_RESPONSE = RESPONSE.CATCH CX_AI_SYSTEM_FAULT INTO EXCEPTION.CALL METHOD EXCEPTION->IF_MESSAGE~GET_LONGTEXTRECEIVINGRESULT = EXP.WRITE: / 'CX_AI_SYSTEM_FAULT FROM SAY_HI:', EXP. CATCH CX_AI_APPLICATION_FAULT .WRITE: / 'CX_AI_APPLICATION_FAULT FROM SAY_HI'. ENDTRY.WRITE / RESPONSE-PARAMETERS-RETURN.ELSE.WRITE / 'PROXY OBJECT IS INITIAL'.ENDIF.另外一种方法写代码(此种方法:不必创建proxy object及逻辑端口)*&---------------------------------------------------------------------**& Report ZTEST_WEBSERVICE*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*REPORT zvalidate_email.PARAMETERS: p_mail(100) LOWER CASE. " E-Mail id to be verifiedDATA: http_client TYPE REF TO if_http_client .DATA: w_string TYPE string ,w_result TYPE string ,r_str TYPE string .DATA: result_tab TYPE TABLE OF string.START-OF-SELECTION .CLEAR w_string .* CONCATENATE*'/ValidateEmail.asmx/IsValidEmail?Email =' p_mail* INTO*http://192.168.101.127:8080/HelloWorld?wsdl* w_string ='http://192.168.101.83:8080/HelloWorld/sayHi?text=qqq'.w_string ='http://192.168.101.127:8080/HelloWorld/sayHi?text=qqq'.* w_string = ''.* w_string ='/ValidateEmail.asmx/IsValidEmail?Email = wkq@'.CALL METHOD cl_http_client=>create_by_urlEXPORTINGurl = w_stringIMPORTINGclient = http_clientEXCEPTIONSargument_not_found = 1plugin_not_active = 2internal_error = 3OTHERS = 4.CALL METHOD http_client->sendEXCEPTIONShttp_communication_failure = 1http_invalid_state = 2.*CALL METHOD http_client->receiveEXCEPTIONShttp_communication_failure = 1http_invalid_state = 2http_processing_failed = 3.*CLEAR w_result .w_result = http_client->response->get_cdata( ).REFRESH result_tab .SPLIT w_result AT cl_abap_char_utilities=>cr_lf INTO TABLE result_tab .READ TABLE result_tab INTO r_str INDEX 2.IF r_str = 't'.WRITE:/ 'Valid email address'.ELSE.WRITE:/ 'Invalid email address'.ENDIF.。

Webservice接口开发

Webservice接口开发

Webservice接口开发Author:Geloin目录1 准备工作 (1)2 服务器端 (1)2.1 主程序 (1)2.2 services.xml (2)2.3 传值方式 (3)2.4 打包 (4)2.5 发布 (6)3 客户端 (8)3.1 导入包 (8)3.2 示例代码 (8)3.3 代码解析 (10)3.3.1 设定服务器地址 (10)3.3.2 设定action (10)3.3.3 设定要调用的方法名 (11)3.3.4 设定客户端控件 (11)3.3.5 设定命名空间 (11)3.3.6 设定需要传送的值 (11)3.3.7 设定返回数据类型 (11)3.3.8 获取返回结果 (12)1准备工作至/axis2/下载axis2的bin及war包,分别解压之,在环境变量中添加AXIS2_HOM,将axis2.war放置到tomcat/webapps目录下,启动tomcat,用浏览器打开http://localhost:8080/axis2,如下图所示:2服务器端2.1主程序服务器端可以是任何一个程序,例如下面的例子:public class Test {// 此程序返回一个字符串public String test1(String arg) {return arg + “测试”;}// 此程序返回一个一维数组public String[] test2(String arg) {String[] result = new String[]{arg};return result;}// 当返回值为多维数组时,将之转化为一维数组返回public String[] test3(String arg) {String[] result = new String[]{“测试,” + arg};return result;}// 当返回值为其它类型,例如自定义类型、Map、List等时,将其序列化(冷冻或腌成咸菜)后返回public byte[] test4(String arg) {Map<Object, Object> map = new HashMap<Object, Object>();map.put(“测试”, arg);java.io.ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(baos);oos.writeObject(map);return baos.toByteArray();}}2.2s ervices.xml需要在根目录下建立META-INF文件夹,文件夹下放置MANIFEST.MF和services.xml文件,最好自己写好MANIFEST.MF文件,不然导出的时候可能会出错。

SAP Web Service接口技术与企业管理信息系统的集成应用

SAP Web Service接口技术与企业管理信息系统的集成应用

SAP Web Service接口技术与企业管理信息系统的集成应用作者:殷成海来源:《现代经济信息》 2018年第14期一、SAP Web Service 接口技术1.SAP Web Service 的定义Web Service 是独立的,模块化的,自描述的应用功能模块或服务。

它基于XML 标准格式,通过使用标准的因特网协议,可以被描述、查找,被请求者使用或调用。

因此每一个Web Service 都封装了一系列可以使用的功能集。

例如SAP 系统提供的库存物料查询,就是其中一种服务功能。

从表面上看,Web Service 就是一个应用程序,它向外界展示出一个能够通过Web 调用的API。

从深层次上看,Web Service 是一种新的Web 应用程序分支,可以在网络中被描述、发布、查找以及通过网络来调用。

Web Service 是一种基于Web 的中间件技术。

用户通过把应用程序的一部分包装成Web 服务的形式,将自己的应用程序功能提供给需要的人,实现应用程序之间的接口( 实现应用程序数据共享)。

2.Web Service 的结构原理示意3.WSDL 技术WSDL 是表示Web Service 的说明语言。

是一个XML 文档,最终用户在使用Web Service的时候,都是通过WSDL 来理解其内容及调用格式。

它可以方便地被各种符合XML 标准的解释器所理解。

WSDL 是定义如何利用XML 语法描述Web Service 的规范。

它通过在服务提供者和服务请求者之间交换的消息来描述Web Service,可被看作是Web Service 和外界沟通的桥梁。

WSDL 文档描述了调用Web Service 所需的一些关键信息:服务器名称、访问地址、传输协议、接口方法和参数、可供调用的方法以及每个方法的输入输出参数类型。

物流平台正是通过使用不同的WSDL,调用SAP 系统不同的接口服务。

4.WSDL 技术实现步骤SAP 系统中创建Web Service 服务时,会自动生成相应的WSDL 文档。

(整理)WebService与SAPECC系统服务发布与调用.

(整理)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协议进行通讯。

它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

SAP常用接口讲解

SAP常用接口讲解
10
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供外部调用。

webservice接口实现方式

webservice接口实现方式WebService接口实现方式Web服务(WebService)是一种基于Web的应用程序接口,允许不同应用程序通过网络相互通信。

WebService接口实现方式有多种,本文将介绍其中的几种常见方式。

1. SOAP(Simple Object Access Protocol)SOAP是一种基于XML的通信协议,用于在Web服务之间进行信息交换。

它使用HTTP作为传输协议,并使用XML格式对数据进行编码。

实现一个SOAP接口需要定义Web服务的方法、参数和返回值,并使用SOAP协议进行通信。

SOAP接口实现方式比较复杂,但具有较好的互操作性。

2. REST(Representational State Transfer)REST是一种轻量级的架构风格,用于设计分布式系统。

它使用HTTP作为传输协议,并使用URL来表示资源,通过HTTP方法(如GET、POST、PUT、DELETE)对资源进行操作。

实现一个REST接口只需要定义资源的URL和对应的HTTP方法即可,非常简单和灵活。

3. JSON-RPC(JSON Remote Procedure Call)JSON-RPC是一种基于JSON(JavaScript Object Notation)的远程过程调用协议。

它使用HTTP作为传输协议,并使用JSON格式对数据进行编码。

实现一个JSON-RPC接口需要定义Web服务的方法、参数和返回值,并使用HTTP POST请求进行调用。

JSON-RPC接口实现方式简单快捷,适用于前后端分离的应用。

4. XML-RPC(XML Remote Procedure Call)XML-RPC是一种基于XML的远程过程调用协议。

它使用HTTP作为传输协议,并使用XML格式对数据进行编码。

实现一个XML-RPC接口需要定义Web服务的方法、参数和返回值,并使用HTTP POST请求进行调用。

java调用sap pi webservice实例

要调用SAP PI的Web服务,您需要使用Java的Web服务客户端。

以下是一个简单的示例,演示如何使用Java调用SAP PI 的Web服务。

首先,您需要使用Java的`wsimport`工具从WSDL文件生成Java类。

假设您的WSDL文件名为`MyService.wsdl`,则可以使用以下命令生成Java类:```shellwsimport -keep MyService.wsdl```这将生成一个名为`MyService`的Java类,其中包含Web服务的所有端点。

接下来,您可以使用以下代码调用SAP PI的Web服务:```javaimport com.sap.aii. PI_Service_URL;import com.sap.aii.pi.ws.*;import com.sap.aii.pi.ws.soap.WS_HTTP_SOAP;public class SAP_PI_Client {public static void main(String[] args) throws Exception {WS_HTTP_SOAP wsHttpSoap = new WS_HTTP_SOAP();wsHttpSoap.setServiceURL(PI_Service_URL.getPIInstance(" your_pi_instance"));MyService myService = new MyService();MyPortType myPort = myService.getMyPort();String result = myPort.myMethod("param1", "param2"); System.out.println(result);}}```在此示例中,我们首先创建一个`WS_HTTP_SOAP`对象,并将其服务URL设置为SAP PI实例的URL。

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接口实例WebService接口实例是一种在不同的操作系统和编程语言之间进行通信的技术,它通过利用XML(可扩展标记语言)来实现跨平台的数据交换。

不同的Web应用程序可以通过SOAP(简单对象访问协议)协议来在网络中发送和接收消息。

下面,我们将通过以下步骤来介绍如何使用WebService接口。

第一步:创建Web服务首先,我们需要在.NET环境中创建一个Web服务应用程序。

使用Visual Studio中的文件菜单选项,在应用程序中添加一个新的Web服务。

我们可以通过添加Web服务引用来使用Web服务。

在Visual Studio中选中“添加引用”,选择“Web引用”,并输入WebService的URL链接。

此时,您将可以通过“命名空间”引用Web服务。

第二步:添加Web服务引用在Visual Studio中,通过添加Web服务引用来使用Web服务。

选中“添加引用”,选择“Web引用”,并输入WebService的URL链接。

此时,您将可以通过“命名空间”引用Web服务。

第三步:实现Web服务方法在Web服务应用程序中,我们必须实现Web服务方法,该方法将处理请求并返回数据。

在方法中,必须定义相关的参数,包括:请求参数、响应参数及返回值。

为了调用Web服务方法,必须发送一条请求并等待Web服务响应。

第四步:测试Web服务在Visual Studio中,可以通过单元测试工具来测试Web服务是否正常运行。

您可以创建一个单元测试项目,以测试Web服务是否返回与预期的结果相同的结果。

第五步:使用WebService接口通过添加Web服务引用,并调用Web服务方法,可以在应用程序中使用WebService接口。

通过使用相关的命名空间,Web服务中的方法可以在应用程序中 freely地调用。

综上所述,在使用WebService接口时,我们需要创建一个Web 服务应用程序,添加Web服务引用,实现Web服务方法,测试Web服务并最终在应用程序中使用WebService接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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提供给需要的用
户,就可以调用我们的接口了。

相关文档
最新文档