




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。WebService与SAPECC系统服务发布与调用SAPECC系统WebService服务发布与调用目录TOCo1-3hzuHYPERLINKl_Toc230670062WebService概念PAGEREF_Toc230670062h5HYPERLINKl_Toc230670063ECC6.0SP14之后版本PAGEREF_Toc230670063h6HYPERLINKl_Toc230670064发布WebService服务:PAGEREF_Toc230670064h6HYPERLINKl_Toc2
2、306700651.SE37创建FunctionPAGEREF_Toc230670065h6HYPERLINKl_Toc2306700662.SE80创建服务PAGEREF_Toc230670066h7HYPERLINKl_Toc2306700673.SOAMANAGER配置服务PAGEREF_Toc230670067h9HYPERLINKl_Toc230670068调用SAP系统发布的WebService服务PAGEREF_Toc230670068h14HYPERLINKl_Toc2306700691.SE80创建代理PAGEREF_Toc230670069h14HYPERLINKl_Toc
3、2306700702.LPCONFIG创建LogicalPortPAGEREF_Toc230670070h15HYPERLINKl_Toc2306700713.测试代理PAGEREF_Toc230670071h18HYPERLINKl_Toc230670072调用外部异构系统发布的WebService服务PAGEREF_Toc230670072h21HYPERLINKl_Toc2306700731.SE80创建代理PAGEREF_Toc230670073h21HYPERLINKl_Toc2306700742.LPCONFIG创建LogicalPortPAGEREF_Toc230670074h2
4、2HYPERLINKl_Toc2306700753.测试代理PAGEREF_Toc230670075h24HYPERLINKl_Toc230670076ECC6.0SP14之前版本PAGEREF_Toc230670076h26HYPERLINKl_Toc230670077发布WebService服务:PAGEREF_Toc230670077h26HYPERLINKl_Toc2306700781.SE37创建FunctionPAGEREF_Toc230670078h26HYPERLINKl_Toc2306700792.SE80创建服务PAGEREF_Toc230670079h27HYPERLIN
5、Kl_Toc2306700803.WSCONFIGPAGEREF_Toc230670080h31HYPERLINKl_Toc2306700814.WSADMINPAGEREF_Toc230670081h33HYPERLINKl_Toc230670082调用WebService服务。PAGEREF_Toc230670082h35HYPERLINKl_Toc2306700831.SE80创建代理PAGEREF_Toc230670083h35HYPERLINKl_Toc2306700842.LPCONFIG创建LogicalPortPAGEREF_Toc230670084h36HYPERLINKl_
6、Toc2306700853.测试代理PAGEREF_Toc230670085h37WebService概念简单来说,WebService就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。WebService所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以WebService可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(SimpleObjectAccessProtocol,简单对象访问协议),它是基于XML的用于分散和分布式环境下网络信息交换的通讯协议。在此协议下,软件组件
7、或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。优势1.跨平台。2.支持度高,SOAP协议是基于XML和HTTP这些业界的标准的。3.数据是以ASCII文本的方式而非二进制传输,调试方便,并实现跨防火墙通信。4.技术难度低,开发周期短,WebService实现的技术难度远远低于CORBA和DCOM。5.实现代码和数据的重用。6.成本低,在B2B集成方面,WebService可以低成本的实现。7.用Webservice来集成各种应用中的功能,能为用户提供一个统一的界面局限性1.使用了
8、XML对数据封装,会造成大量的数据要在网络中传输。2.没有规定任何与实现相关的细节,包括对象模型、编程语言。3.单机应用程序和局域网上的同构应用程序不适用WebService。ECC6.0SP14之后版本发布WebService服务:1.SE37创建Function选择Remote-EnabledModule。完成Function代码,包括输入输出参数。2.SE80创建服务SE80选择开发包或者本地对象右键CreateEnterpriseService/WebServiceWebService选择ServiceProvider,点击Continue。选择ExistingABAPObjects,
9、点击Continue。填入ServiceDefinition和ShortText,EndpointType选择FUNCFunctionModule,点击Continue。填入FunctionModule名称,点击Continue。Profile一般选择PRF_DT_IF_SEC_NO即可。PRF_DT_IF_SEC_HIGHAuthenticationusingcertificatesandtransportguaranteesPRF_DT_IF_SEC_LOWAuthenticationusingUserIDandpassword,notransportguaranteePRF_DT_IF_
10、SEC_MEDIUMAuthenticationusingUserIDandpasswordandtransportguaranteePRF_DT_IF_SEC_NONoauthorizationandnotransportguaranteePackage/Request勾选LocalObject即可。系统提示WebService服务将被创建。3.SOAMANAGER配置服务SOAMANAGER需要的权限RoleDescriptionSAP_BC_WEBSERVICE_SERVICE_USERRoleforbackgroundusersoftheWebserviceruntimeSAP_BC_
11、WEBSERVICE_ADMIN_TECRolefortechnicaladministratorofWebservicesMonitoringofsequences,messages,logging,tracing,bgRFC,processintegrationMonitoringofpayloadforcomponentSAP_BASISAdministrationoftracingandlogging,bgRFC,RFCDefinition,execution,andpublicationofWebservicesAdministrationoftheInternetCommunica
12、tionFrameworkAdministrationoftheRFCdestinationAdministrationoftheTaskWatcherandtheEventHandlerSAP_BC_WEBSERVICE_ADMIN_BIZRoleforthebusinessadministratorSAP_BC_WEBSERVICE_CONSUMERUsersofaWebserviceSAP_BC_WEBSERVICE_OBSERVERUserroleforviewingallinformationonWebServicesSAP_BC_WEBSERVICE_DEBUGGERRolewit
13、hdebuggingauthorizationSAP_BC_WEBSERVICE_ADMINAdministrationauthorizationforWebServicesinASABAPoldversion,butstillvalid执行T-code:SOAMANAGER,浏览器会打开一个页面:HYPERLINKhttp:/hnepcd16:8000/sap/bc/webdynpro/sap/appl_soap_management?sap-language=ENhttp:/hnepcd16:8000/sap/bc/webdynpro/sap/appl_soap_management?sa
14、p-language=EN系统提示无法打开页面。这是因为主机名hnepcd16不符合webdynpro的规范。解决方法一:在C:WINDOWSsystem32driversetc文件中添加映射,讲主机名改成hostname.domain的形式。解决方法二:RZ10添加参数icm/host_name_full=(hostname).domain。解放方法三:如果主机加入了域,将地址中的主机名改成域名。本例中采用第三种方案,打开如下地址。HYPERLINK:8000/sap/bc/webdynpro/sap/appl_soap_management?sap-language=EN:8000/sap
15、/bc/webdynpro/sap/appl_soap_management?sap-language=EN系统弹出登录界面,点击LogOn,输入用户名密码。选择BusinessAdministration页签,点击WebServiceAdministration。Searchby选择Service,点击Go。选中刚才创建的服务名,点击ApplySelection。在Configurations页签中可以看见该服务处于Active状态。在Overview页签中,点击OpenWSDLdocumentforselectedbinding。系统会打开一个页面,地址如下:HYPERLINKhttp:/
16、hnepcd16:8000/sap/bc/srt/wsdl/bndg_4A0C6BE061170CE5E10000000ADF0216/wsdl11/allinone/ws_policy/document?sap-client=200http:/hnepcd16:8000/sap/bc/srt/wsdl/bndg_4A0C6BE061170CE5E10000000ADF0216/wsdl11/allinone/ws_policy/document?sap-client=200系统提示无法打开网页,同样是因为主机名的原因。将主机名替换成IP地址。HYPERLINK2:8000/sap/bc/sr
17、t/wsdl/bndg_4A0C6BE061170CE5E10000000ADF0216/wsdl11/allinone/ws_policy/document?sap-client=2002:8000/sap/bc/srt/wsdl/bndg_4A0C6BE061170CE5E10000000ADF0216/wsdl11/allinone/ws_policy/document?sap-client=200现在可以看到服务说明。调用SAP系统发布的WebService服务1.SE80创建代理SE80选择开发包或者本地对象右键CreateEnterpriseService/WebServicePr
18、oxyObject选择ServiceConsumer。选择URL/HTTPDestination。URL中填入SOAMANAGER得到的地址(主机名换成IP地址)。选择Package,创建Prefix。系统提示代理将被创建,并提示保存和激活代理。输入Client,Username和Password。系统提示已经创建代理,同时需要保存和激活。系统显示代理ZLWSTest的状态为NEW(Revised),需要激活。2.LPCONFIG创建LogicalPort执行T-code:LPCONFIG,填入ProxyClass和LogicalPort,勾选DefaultPort,点击生成。输入Descri
19、ption。在CallParameters页签中填入URL,不能采用上面的URL。执行T-code:SICF。找到服务名,路径为:/default_host/sap/bc/srt/rfc/sap/zlwstest/200/zlwstest/。右键单击服务明,选择TestService。系统打开页面,地址为:HYPERLINKhttp:/hnepcd16:8000/sap/bc/srt/rfc/sap/zlwstest/200/zlwstest/zlwstest?sap-client=200http:/hnepcd16:8000/sap/bc/srt/rfc/sap/zlwstest/200/z
20、lwstest/zlwstest?sap-client=200讲主机名替换为IP地址,这就是我们需要的URL。HYPERLINK2:8000/sap/bc/srt/rfc/sap/zlwstest/200/zlwstest/zlwstest?sap-client=2002:8000/sap/bc/srt/rfc/sap/zlwstest/200/zlwstest/zlwstest?sap-client=200勾选MessageID和StateManagement参数。保存激活(再次保存之后LogicalPort将处于inactive状态)。3.测试代理SE38创建程序Z_WS_TEST测试接口
21、。代码如下:REPORTZ_WS_TESTNOSTANDARDPAGEHEADINGMESSAGE-ID00.DATA:*Referencevariablesforproxyandexceptionclasslo_clientproxyTYPEREFTOZWSTEST_CO_ZLWSTEST,lo_sys_exceptionTYPEREFTOcx_ai_system_fault,*Structurestosetandgetmessagecontentls_helloworldTYPEZZHUL_TEST_CHAR20,ls_requestTYPEZWSTEST_ZWS_DEV1,ls_resp
22、onseTYPEZWSTEST_ZWS_DEV1RESPONSE.SELECTION-SCREENBEGINOFBLOCKB1WITHFRAMETITLETEXT-001.PARAMETERS:RAD_ARADIOBUTTONGROUPRAD1DEFAULTX.PARAMETERS:RAD_BRADIOBUTTONGROUPRAD1.PARAMETERS:RAD_CRADIOBUTTONGROUPRAD1.SELECTION-SCREENENDOFBLOCKB1.*SettheinputparameterintotheRequestoftheSOAPObject*CreatetheProxya
23、ndClallit.CREATEOBJECTlo_clientproxy.IFRAD_A=X.ls_request-INPUTDATE=X.ENDIF.IFRAD_B=X.ls_request-INPUTDATE=Y.ENDIF.IFRAD_C=X.ls_request-INPUTDATE=.ENDIF.TRY.CALLMETHODlo_clientproxy-ZWS_DEV1EXPORTINGINPUT=ls_requestIMPORTINGOUTPUT=ls_response.*WriteOuttheBasicInformationls_helloworld=ls_response-OUT
24、PUTDATE.WRITE/1ls_helloworld.CATCHcx_ai_system_faultINTOlo_sys_exception.write:/lo_sys_exception-ERRORTEXT.*ErrorhandlingENDTRY.测试效果如下:调用外部异构系统发布的WebService服务本例:调用.NET创建WebService服务,URL为:HYPERLINK7:8008/webservice/service1.asmx?WSDL7:8008/webservice/service1.asmx?WSDL1.SE80创建代理SE80选择开发包或者本地对象右键Creat
25、eEnterpriseService/WebServiceProxyObject选择ServiceConsumer。选择URL/HTTPDestination。URL中填入SOAMANAGER得到的地址(主机名换成IP地址)。选择Package,创建Prefix。系统提示代理将被创建,并提示保存和激活代理。系统提示已经创建代理,同时需要保存和激活。2.LPCONFIG创建LogicalPort执行T-code:LPCONFIG,填入ProxyClass和LogicalPort,勾选DefaultPort,点击生成。输入Description。在CallParameters页签中填入URL。在O
26、perations页签中填入SOAPAction。在HYPERLINK7:8008/webservice/service1.asmx?WSDL中找到如下代码7:8008/webservice/service1.asmx?WSDL中找到如下代码:将”HYPERLINK/HelloWorld/HelloWorld”填入SOAPAction。勾选MessageID和StateManagement参数。保存激活(再次保存之后LogicalPort将处于inactive状态)。3.测试代理SE38创建程序Z_NETWS_TEST测试接口。代码如下:REPORTZ_NETWS_TESTNOSTANDARD
27、PAGEHEADINGMESSAGE-ID00.*数据定义&DATA:*Referencevariablesforproxyandexceptionclasslo_clientproxyTYPEREFTOZWSNET_CO_SERVICE1SOAP,lo_sys_exceptionTYPEREFTOcx_ai_system_fault,*Structurestosetandgetmessagecontentls_helloworldTYPEZWSNET_HELLO_WORLD_SOAP_OUT-HELLO_WORLD_RESULT,ls_requestTYPEZWSNET_HELLO_WORL
28、D_SOAP_IN,ls_responseTYPEZWSNET_HELLO_WORLD_SOAP_OUT.*SettheinputparameterintotheRequestoftheSOAPObject*CreatetheProxyandClallit.CREATEOBJECTlo_clientproxy.TRY.CALLMETHODlo_clientproxy-HELLO_WORLDEXPORTINGINPUT=ls_requestIMPORTINGOUTPUT=ls_response.*WriteOuttheBasicInformationls_helloworld=ls_respon
29、se-HELLO_WORLD_RESULT.WRITE/1ls_helloworld.CATCHcx_ai_system_faultINTOlo_sys_exception.write:/lo_sys_exception-ERRORTEXT.*ErrorhandlingENDTRY.测试效果如下:ECC6.0SP14之前版本发布WebService服务:1.SE37创建Function选择Remote-EnabledModule。完成Function代码,包括输入输出参数。2.SE80创建服务SE80选择开发包或者本地对象右键CreateEnterpriseService/WebServiceWebService点击Continue。填入ServiceDefinition和ShortText,EndpointType选择FUNCFunctionModule。在FunctionModule中填入第一步创建的Function名称。关于NameMapping:IftheflagMappingofNamesisset,theexistinglabelsfortheendpointarecopied.Onlythebeginninglettersareuppercaselettersandunderscoresareremoved.一般情
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025金融机构贷款合同书范本2
- 2025标准个人投资合伙企业合同样本
- 2025地基加固锚杆施工合同
- 《2025甲乙双方委托贷款借款合同协议》
- 矿山安全监管与执法考核试卷
- 2025福建省智能产业发展科技项目(课题)合同书
- 2025简化农业生产技术推广项目合同模板
- 2025退休人员劳动合同模板
- 2025建筑工程合同管理法规详解
- 2025电工劳务承包合同示范文本
- 教师专业发展制度教师专业发展的保障制度
- 学校德育管理体系
- XX文化产业投资公司二零二五年度股东退股及文化创意协议
- 青年博物馆文创产品消费研究:一个社会实践分析视角
- 2025版学校学生食堂餐具清洗消毒服务合同2篇
- 跟着电影去旅游知到智慧树章节测试课后答案2024年秋山东大学(威海)
- 《有机硅乳液防水剂》文本及编制说明
- 学校基金会的资金筹集与运用策略
- 2021年高考物理试卷(江苏)(解析卷)
- 调度室副主任安全生产职责模版(3篇)
- 2025年中电科太力通信科技限公司招聘高频重点提升(共500题)附带答案详解
评论
0/150
提交评论