WebService实例new.docx

上传人:b****0 文档编号:10129703 上传时间:2023-05-23 格式:DOCX 页数:26 大小:1.86MB
下载 相关 举报
WebService实例new.docx_第1页
第1页 / 共26页
WebService实例new.docx_第2页
第2页 / 共26页
WebService实例new.docx_第3页
第3页 / 共26页
WebService实例new.docx_第4页
第4页 / 共26页
WebService实例new.docx_第5页
第5页 / 共26页
WebService实例new.docx_第6页
第6页 / 共26页
WebService实例new.docx_第7页
第7页 / 共26页
WebService实例new.docx_第8页
第8页 / 共26页
WebService实例new.docx_第9页
第9页 / 共26页
WebService实例new.docx_第10页
第10页 / 共26页
WebService实例new.docx_第11页
第11页 / 共26页
WebService实例new.docx_第12页
第12页 / 共26页
WebService实例new.docx_第13页
第13页 / 共26页
WebService实例new.docx_第14页
第14页 / 共26页
WebService实例new.docx_第15页
第15页 / 共26页
WebService实例new.docx_第16页
第16页 / 共26页
WebService实例new.docx_第17页
第17页 / 共26页
WebService实例new.docx_第18页
第18页 / 共26页
WebService实例new.docx_第19页
第19页 / 共26页
WebService实例new.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

WebService实例new.docx

《WebService实例new.docx》由会员分享,可在线阅读,更多相关《WebService实例new.docx(26页珍藏版)》请在冰点文库上搜索。

WebService实例new.docx

WebService实例new

WebService实例

SAPWebService

Cindyli

2011-11-17

yuqishow@

目录

简介3

准备工作3

SAPWebService配置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.SAPECC系统两个;

2.外部系统一个(JavaEJB3Jboss5);

本章节将会按照SAP到SAP、SAP到JAVA、JAVA到JAVA,JAVA到SAP的WebService顺序进行实战练习。

SAPWebService配置

在不同的客户端,需要对该客户端进行配置方能够运行WebService。

具体的参考以下小节介绍。

配置服务器

为了使系统能解析XML文件,我们需要进行相关的配置工作,该配置只需一次,以后就可以不必进行配置。

访问T-Code:

SICF,如下图所示:

执行运行按钮,或者使用快捷键F8,进入如下界面:

依据上图内容,分配找到以下路径内容,并按要求对这些路径文件进行激活操作。

1.Default_host->sap->public->bc;

2.Default_host->sap->public->bsp、Default_host->sap->public->icman、Default_host->sap->public->myssocntl;

3.Default_host->sap->bc->contentserver、Default_host->sap->bc->error->webgui、Default_host->sap->bc->srt->wsdl->wsil、Default_host->sap->bc->webdynpro;

4.default_host->sap->bw->xml->soap

分配按照上述的路径,激活相应的目录以及目录以下的所有对象。

SAP系统的WebService调用

WebService所在系统配置

FM创建

登陆SAPBI(或者ECC)系统,执行t-code:

Se37,进入函数创建界面,如下图所示:

在创建函数之前呢,首先创建一个属于自己的函数组,或者可以使用系统中已经建好的函数组。

自定义函数组

登陆至FunctionBuilder:

InitialScreens界面之后,在GoTo菜单中执行创建函数组功能菜单,如下图所示:

执行CreateGroup功能按钮后,将弹出如下图所示对话框:

录入相关信息后,点击保存。

函数创建

然后返回到FunctionBuilder:

InitialScreens界面,在FunctionModule文本框录入FM的技术名称:

Z_CALCULATE,点击创建按钮,如下图所示:

点击保存按钮,进入FM编辑页面,如下图所示:

Processing Type面板中,选择Remote-EnableModule单选按钮。

然后进入Import面板,如下图所示:

分别录入参数类型为String的:

NUMBER1、NUMBER2、Z0PERATOR,PassValue复选框务必勾选,不然将无法成功发布成WebService服务。

然后进入Export面板,如下图所示:

录入参数类型为String:

RESLUT,并选中PassValue列的复选框。

然后进入SourceCode进行编码编辑,如下图所示:

Code如下所示:

FUNCTION Z_CALCULATE.

*"-------------------------------------------------------------------

*"*"Local interface:

*"  IMPORTING

*"     VALUE(NUMBER1) TYPE  STRING OPTIONAL

*"     VALUE(NUMBER2) TYPE  STRING OPTIONAL

*"     VALUE(Z0PERATOR) TYPE  STRING

*"  EXPORTING

*"     VALUE(RESLUT) TYPE  STRING

*"-------------------------------------------------------------------

try.

 case Z0PERATOR.

 when '+'.

   RESLUT = NUMBER1 + NUMBER2.

 when'-'.

   RESLUT = NUMBER1 - NUMBER2.

 when'*'.

   RESLUT = NUMBER1 * NUMBER2.

 when '/'.

   RESLUT = NUMBER1 / NUMBER2.

 when others.

   RESLUT = 'Not supported'.

 endcase.

 catch cx_root.

  RESLUT = 'Not supported'.

 endtry.

ENDFUNCTION.

点击检查按钮,然后保存,激活该FM。

WebService发布

FM激活之后,在菜单Utilities中选择MoreUtilitiesCreativeWebServiceFromtheFunctionModule。

如下图所示:

执行菜单功能按钮后,将会弹出如下图所示的对话框:

定义服务以及完成对该服务的描述,然后点击继续按钮,如下图所示:

确定FunctionModule文本框中的FM为指定接口函数技术名称后,点击继续按钮,如下图所示:

Profiles选择PRF_DT_IF_SEC_NO,然后点击继续按钮,如下图所示:

由于本章节是实战练习,故选择了本地存储,即勾选LocalObject复选框,如果不勾选该复选框,那么,你必须在相应的文本框录入当前所要应用的Package技术名称,以及所创建TransportRequest(即:

传输请求号)。

然后点击继续按钮,如下图所示:

点击完成按钮,此时ZSAP_CALCULATE服务已经创建完毕了。

WSDL信息以及URL查询

在当前系统访问事物码:

SOAMANAGER,进入SOAManager界面,如下图所示:

在Business-Administration面板,执行Web-Service-Administration连接,如下图所示:

在弹出的界面中图中例子进行以创建好服务查询,点击Start按钮,如下图所示:

选中刚创建好的服务,然后运行ApplySelection按钮,如下图所示:

然后点配置-〉创建

在显示出的面板中,执行:

OpenWSDLdocumentforselectedbinding连接,如下图所示:

其中我们要寻找的URL连接地址为地址栏中显示的地址内容,即:

:

8002/sap/bc/srt/wsdl/bndg_E1102D8E4FE947F18F9A005056C00008/wsdl11/allinone/ws_policy/document?

sap-client=001。

源文件即页面中显示的内容。

EndPoint地址查找

在当前系统中执行事物码:

SICF,进入维护服务界面,如下图所示:

然后在服务名称文本框中录入:

ZSAP_CALCULATE,点击执行按钮,或者使用快捷键F8。

如下图所示:

选中Zsap_calculate,如上图所示,右键执行测试服务功能,如下图所示:

在弹出框中录入你当前系统中的用户名和密码,点击确定按钮。

然后,系统将会弹出测试结果内容,如下图所示:

我们要查找的EndPoint地址内容则为上图地址栏中显示的内容,例如:

:

8002/sap/bc/srt/rfc/sap/zsap_calculate/001/zsap_calculate/zsap_calculate?

sap-client=001。

WebService调用系统配置

代理创建

WebService发布与释放之后,我们就需要到调用该WebService的系统进行一些相关配置,然后实现调用之前创建的接口函数。

现在,我们登陆另外一个SAP系统,执行事务码:

SE80,如下图所示:

在$TMPABAP17对象上右键选择CreateEnterpriseService,并执行该功能菜单,如下图所示:

执行功能菜单之后,系统将弹出如下界面。

选择ServiceConsumer,执行继续按钮,如下界面所示:

选择URL/HTTPDestination,执行继续按钮,如下界面所示:

在URL文本框中录入之前查询的URL,可以参考WSDL信息以及URL查询小结。

此处我们需要注意,我们从WSDL信息显示界面获取的URL需要经过一些调整方可被使用。

例如:

本章节实例练习中已经获取的URL为:

:

8002/sap/bc/srt/wsdl/bndg_E1102D8E4FE947F18F9A005056C00008/wsdl11/allinone/ws_policy/document?

sap-client=001,我们需要将原来的URL调整为如下的URL后,方可被当前系统所识别,如:

http:

//10.172.11.1:

8002/sap/bc/srt/wsdl/bndg_E1102D8E4FE947F18F9A005056C00008/wsdl11/allinone/standard/document?

sap-client=001,如10.172.11.1来替换,其中10.172.11.1为服务所在服务器的IP。

此外,我们还需要将原始URL中ws_policy更改为Standard,Standard才是真正被外界系统调用的。

录入之后,点击继续按钮。

如下图所示:

Prefix为代理的技术名称,勾选了LocalObject复选框后,则将对象保存至本地,不然的话,需要录入相应的Package以及请求号。

点击继续按钮,如下图所示:

点击完成按钮,如下图所示:

录入WebService所在系统的用户名、密码,权限一定要足够的大。

然后点击确定按钮。

如下图所示:

保存,并激活该代理。

逻辑端口创建

在该系统,执行事物码:

LPCONFIG,进入显示/创建逻辑端口,如下图所示:

点击创建按钮,进入编辑页面,如下图所示:

按照上图,进行相关配置,然后在一般设置面板,打开调用参数面板,如下图所示:

URL为:

EndPoint地址,检查,保存,激活该逻辑端口。

这里的URL如同代理创建一样,需要用IP替换域名。

将图中显示的URL:

:

8002/sap/bc/srt/rfc/sap/zsap_calculate/001/zsap_calculate/zsap_calculate?

sap-client=001,替换成为:

http:

//10.172.11.1:

8002/sap/bc/srt/rfc/sap/zsap_calculate/001/zsap_calculate/zsap_calculate?

sap-client=001。

代理类测试

执行事物码SE80,找到之前创建好的代理类,如下图所示:

双击该代理类,进入其显示界面,如下图所示:

点击执行按钮,或者快捷键F8。

如下图所示:

逻辑端口文本框就是之前创建的逻辑端口技术名称。

点击执行按钮,如下图所示:

从左往右数,点击第四个功能按钮(或者执行快捷键Ctrl+F2),进入XML编辑页面,如下图所示:

更改XML内容,如下图所示:

点击执行按钮,如下图所示:

输入WebService所在系统的用户名,密码,点击确定按钮,如下图所示:

截止到现在,我们已经成功调用了SAPBI系统创建的FM,代理类测试通过。

接下来,我们可以尝试在当前系统创建Report来调用SAPBI系统的FM。

Report开发

REPORT ZDEMO03_YC.

DATA:

 CONVERT TYPE REF TO ZYC_CO_ZSAP_CALCULATE1,

INPUT_PAR TYPE ZYC_Z_CALCULATE1,

OUTPUT_PAT TYPE ZYC_Z_CALCULATE1RESPONSE.

CREATE OBJECT CONVERT.

INPUT_PAR-NUMBER1 = '1'.

INPUT_PAR-NUMBER2 = '3'.

INPUT_PAR-Z0PERATOR = '+'.

TRY.

    CALL METHOD CONVERT->Z_CALCULATE1

      EXPORTING

        INPUT  = INPUT_PAR

      IMPORTING

        OUTPUT = OUTPUT_PAT.

  CATCH CX_AI_SYSTEM_FAULT .

    WRITE 'Error:

Communication Error'.

  CATCH CX_AI_APPLICATION_FAULT .

    WRITE 'Error:

Application Error'.

ENDTRY.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2