WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用講課教案_第1頁(yè)
WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用講課教案_第2頁(yè)
WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用講課教案_第3頁(yè)
WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用講課教案_第4頁(yè)
WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用講課教案_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。WebService與SAPECC系統(tǒng)服務(wù)發(fā)布與調(diào)用SAPECC系統(tǒng)WebService服務(wù)發(fā)布與調(diào)用目錄TOCo1-3hzuHYPERLINKl_Toc230670062WebService概念PAGEREF_Toc230670062h5HYPERLINKl_Toc230670063ECC6.0SP14之后版本PAGEREF_Toc230670063h6HYPERLINKl_Toc230670064發(fā)布WebService服務(wù):PAGEREF_Toc230670064h6HYPERLINKl_Toc2

2、306700651.SE37創(chuàng)建FunctionPAGEREF_Toc230670065h6HYPERLINKl_Toc2306700662.SE80創(chuàng)建服務(wù)PAGEREF_Toc230670066h7HYPERLINKl_Toc2306700673.SOAMANAGER配置服務(wù)PAGEREF_Toc230670067h9HYPERLINKl_Toc230670068調(diào)用SAP系統(tǒng)發(fā)布的WebService服務(wù)PAGEREF_Toc230670068h14HYPERLINKl_Toc2306700691.SE80創(chuàng)建代理PAGEREF_Toc230670069h14HYPERLINKl_Toc

3、2306700702.LPCONFIG創(chuàng)建LogicalPortPAGEREF_Toc230670070h15HYPERLINKl_Toc2306700713.測(cè)試代理PAGEREF_Toc230670071h18HYPERLINKl_Toc230670072調(diào)用外部異構(gòu)系統(tǒng)發(fā)布的WebService服務(wù)PAGEREF_Toc230670072h21HYPERLINKl_Toc2306700731.SE80創(chuàng)建代理PAGEREF_Toc230670073h21HYPERLINKl_Toc2306700742.LPCONFIG創(chuàng)建LogicalPortPAGEREF_Toc230670074h2

4、2HYPERLINKl_Toc2306700753.測(cè)試代理PAGEREF_Toc230670075h24HYPERLINKl_Toc230670076ECC6.0SP14之前版本PAGEREF_Toc230670076h26HYPERLINKl_Toc230670077發(fā)布WebService服務(wù):PAGEREF_Toc230670077h26HYPERLINKl_Toc2306700781.SE37創(chuàng)建FunctionPAGEREF_Toc230670078h26HYPERLINKl_Toc2306700792.SE80創(chuàng)建服務(wù)PAGEREF_Toc230670079h27HYPERLIN

5、Kl_Toc2306700803.WSCONFIGPAGEREF_Toc230670080h31HYPERLINKl_Toc2306700814.WSADMINPAGEREF_Toc230670081h33HYPERLINKl_Toc230670082調(diào)用WebService服務(wù)。PAGEREF_Toc230670082h35HYPERLINKl_Toc2306700831.SE80創(chuàng)建代理PAGEREF_Toc230670083h35HYPERLINKl_Toc2306700842.LPCONFIG創(chuàng)建LogicalPortPAGEREF_Toc230670084h36HYPERLINKl_

6、Toc2306700853.測(cè)試代理PAGEREF_Toc230670085h37WebService概念簡(jiǎn)單來(lái)說(shuō),WebService就是為了使原來(lái)各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。WebService所使用的是Internet上統(tǒng)一、開(kāi)放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)、WSDL等,所以WebService可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。注:SOAP協(xié)議(SimpleObjectAccessProtocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議),它是基于XML的用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的通訊協(xié)議。在此協(xié)議下,軟件組件

7、或應(yīng)用程序能夠通過(guò)標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問(wèn)。優(yōu)勢(shì)1.跨平臺(tái)。2.支持度高,SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的。3.數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試方便,并實(shí)現(xiàn)跨防火墻通信。4.技術(shù)難度低,開(kāi)發(fā)周期短,WebService實(shí)現(xiàn)的技術(shù)難度遠(yuǎn)遠(yuǎn)低于CORBA和DCOM。5.實(shí)現(xiàn)代碼和數(shù)據(jù)的重用。6.成本低,在B2B集成方面,WebService可以低成本的實(shí)現(xiàn)。7.用Webservice來(lái)集成各種應(yīng)用中的功能,能為用戶提供一個(gè)統(tǒng)一的界面局限性1.使用了

8、XML對(duì)數(shù)據(jù)封裝,會(huì)造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。2.沒(méi)有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對(duì)象模型、編程語(yǔ)言。3.單機(jī)應(yīng)用程序和局域網(wǎng)上的同構(gòu)應(yīng)用程序不適用WebService。ECC6.0SP14之后版本發(fā)布WebService服務(wù):1.SE37創(chuàng)建Function選擇Remote-EnabledModule。完成Function代碼,包括輸入輸出參數(shù)。2.SE80創(chuàng)建服務(wù)SE80選擇開(kāi)發(fā)包或者本地對(duì)象右鍵CreateEnterpriseService/WebServiceWebService選擇ServiceProvider,點(diǎn)擊Continue。選擇ExistingABAPObjects,

9、點(diǎn)擊Continue。填入ServiceDefinition和ShortText,EndpointType選擇FUNCFunctionModule,點(diǎn)擊Continue。填入FunctionModule名稱,點(diǎn)擊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即可。系統(tǒng)提示W(wǎng)ebService服務(wù)將被創(chuàng)建。3.SOAMANAGER配置服務(wù)SOAMANAGER需要的權(quán)限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執(zhí)行T-code:SOAMANAGER,瀏覽器會(huì)打開(kāi)一個(gè)頁(yè)面: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系統(tǒng)提示無(wú)法打開(kāi)頁(yè)面。這是因?yàn)橹鳈C(jī)名hnepcd16不符合webdynpro的規(guī)范。解決方法一:在C:WINDOWSsystem32driversetc文件中添加映射,講主機(jī)名改成hostname.domain的形式。解決方法二:RZ10添加參數(shù)icm/host_name_full=(hostname).domain。解放方法三:如果主機(jī)加入了域,將地址中的主機(jī)名改成域名。本例中采用第三種方案,打開(kāi)如下地址。HYPERLINK:8000/sap/bc/webdynpro/sap/appl_soap_management?sap-language=EN:8000/sap

15、/bc/webdynpro/sap/appl_soap_management?sap-language=EN系統(tǒng)彈出登錄界面,點(diǎn)擊LogOn,輸入用戶名密碼。選擇BusinessAdministration頁(yè)簽,點(diǎn)擊WebServiceAdministration。Searchby選擇Service,點(diǎn)擊Go。選中剛才創(chuàng)建的服務(wù)名,點(diǎn)擊ApplySelection。在Configurations頁(yè)簽中可以看見(jiàn)該服務(wù)處于Active狀態(tài)。在Overview頁(yè)簽中,點(diǎn)擊OpenWSDLdocumentforselectedbinding。系統(tǒng)會(huì)打開(kāi)一個(gè)頁(yè)面,地址如下: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系統(tǒng)提示無(wú)法打開(kāi)網(wǎng)頁(yè),同樣是因?yàn)橹鳈C(jī)名的原因。將主機(jī)名替換成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現(xiàn)在可以看到服務(wù)說(shuō)明。調(diào)用SAP系統(tǒng)發(fā)布的WebService服務(wù)1.SE80創(chuàng)建代理SE80選擇開(kāi)發(fā)包或者本地對(duì)象右鍵CreateEnterpriseService/WebServicePr

18、oxyObject選擇ServiceConsumer。選擇URL/HTTPDestination。URL中填入SOAMANAGER得到的地址(主機(jī)名換成IP地址)。選擇Package,創(chuàng)建Prefix。系統(tǒng)提示代理將被創(chuàng)建,并提示保存和激活代理。輸入Client,Username和Password。系統(tǒng)提示已經(jīng)創(chuàng)建代理,同時(shí)需要保存和激活。系統(tǒng)顯示代理ZLWSTest的狀態(tài)為NEW(Revised),需要激活。2.LPCONFIG創(chuàng)建LogicalPort執(zhí)行T-code:LPCONFIG,填入ProxyClass和LogicalPort,勾選DefaultPort,點(diǎn)擊生成。輸入Descri

19、ption。在CallParameters頁(yè)簽中填入U(xiǎn)RL,不能采用上面的URL。執(zhí)行T-code:SICF。找到服務(wù)名,路徑為:/default_host/sap/bc/srt/rfc/sap/zlwstest/200/zlwstest/。右鍵單擊服務(wù)明,選擇TestService。系統(tǒng)打開(kāi)頁(yè)面,地址為: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講主機(jī)名替換為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參數(shù)。保存激活(再次保存之后LogicalPort將處于inactive狀態(tài))。3.測(cè)試代理SE38創(chuàng)建程序Z_WS_TEST測(cè)試接口

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.測(cè)試效果如下:調(diào)用外部異構(gòu)系統(tǒng)發(fā)布的WebService服務(wù)本例:調(diào)用.NET創(chuàng)建WebService服務(wù),URL為:HYPERLINK7:8008/webservice/service1.asmx?WSDL7:8008/webservice/service1.asmx?WSDL1.SE80創(chuàng)建代理SE80選擇開(kāi)發(fā)包或者本地對(duì)象右鍵Creat

25、eEnterpriseService/WebServiceProxyObject選擇ServiceConsumer。選擇URL/HTTPDestination。URL中填入SOAMANAGER得到的地址(主機(jī)名換成IP地址)。選擇Package,創(chuàng)建Prefix。系統(tǒng)提示代理將被創(chuàng)建,并提示保存和激活代理。系統(tǒng)提示已經(jīng)創(chuàng)建代理,同時(shí)需要保存和激活。2.LPCONFIG創(chuàng)建LogicalPort執(zhí)行T-code:LPCONFIG,填入ProxyClass和LogicalPort,勾選DefaultPort,點(diǎn)擊生成。輸入Description。在CallParameters頁(yè)簽中填入U(xiǎn)RL。在O

26、perations頁(yè)簽中填入SOAPAction。在HYPERLINK7:8008/webservice/service1.asmx?WSDL中找到如下代碼7:8008/webservice/service1.asmx?WSDL中找到如下代碼:將”HYPERLINK/HelloWorld/HelloWorld”填入SOAPAction。勾選MessageID和StateManagement參數(shù)。保存激活(再次保存之后LogicalPort將處于inactive狀態(tài))。3.測(cè)試代理SE38創(chuàng)建程序Z_NETWS_TEST測(cè)試接口。代碼如下:REPORTZ_NETWS_TESTNOSTANDARD

27、PAGEHEADINGMESSAGE-ID00.*數(shù)據(jù)定義&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.測(cè)試效果如下:ECC6.0SP14之前版本發(fā)布WebService服務(wù):1.SE37創(chuàng)建Function選擇Remote-EnabledModule。完成Function代碼,包括輸入輸出參數(shù)。2.SE80創(chuàng)建服務(wù)SE80選擇開(kāi)發(fā)包或者本地對(duì)象右鍵CreateEnterpriseService/WebServiceWebService點(diǎn)擊Continue。填入ServiceDefinition和ShortText,EndpointType選擇FUNCFunctionModule。在FunctionModule中填入第一步創(chuàng)建的Function名稱。關(guān)于NameMapping:IftheflagMappingofNamesisset,theexistinglabelsfortheendpointarecopied.Onlythebeginninglettersareuppercaselettersandunderscoresareremoved.一般情

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論