點(diǎn)擊藍(lán)字 關(guān)注我們
前言
因?yàn)楣ぷ鞯脑?需要通過S/4提供一個(gè)WEBSERVICE同步接口,讓外部系統(tǒng)調(diào)用.所以整理了一下SAP軟件中RFC函數(shù)發(fā)布WEB服務(wù)的步驟.

問
怎么不通過PO發(fā)布服務(wù)
個(gè)人覺得,異步接口可以通過PO.同步接口還是直接在ECC發(fā)布會好一些.避免一些無用的環(huán)節(jié)影響同步接口的響應(yīng)
答

STEP BY STEP

01
創(chuàng)建一個(gè)RFC函數(shù)
創(chuàng)建一個(gè)RFC函數(shù),確保勾選了遠(yuǎn)程啟用的模塊

02
創(chuàng)建WEB服務(wù)
使用菜單功能創(chuàng)建web服務(wù)(一般選擇來自函數(shù)模塊, 每個(gè)函數(shù)發(fā)布一個(gè)服務(wù)). 如果選擇來自函數(shù)組,則會把函數(shù)組中的所有函數(shù)發(fā)布成一組服務(wù).

進(jìn)入發(fā)布服務(wù)的向?qū)Ы缑?這里的服務(wù)名稱可以和函數(shù)一致

這里不要勾選Map Name . Map Name 會把一些字段命名按照特定規(guī)則修改調(diào)整. 導(dǎo)致服務(wù)中的字段名不同于函數(shù)中的字段名

選擇安全參數(shù)文件. 如果服務(wù)是局域網(wǎng)調(diào)用, 可以選擇最后一個(gè), 簡化后續(xù)的設(shè)置. 如果要發(fā)布到互聯(lián)網(wǎng), 建議選擇前三種.

輸入服務(wù)的開發(fā)類及傳輸請求

點(diǎn)擊完成,即可創(chuàng)建WEB服務(wù)

在服務(wù)定義界面中激活一下WEB服務(wù)

03
配置WEB服務(wù)
然后執(zhí)行事物代碼 SOAMANAGER, 會啟動一個(gè)瀏覽器界面設(shè)置服務(wù)的調(diào)用點(diǎn)信息(后面的步驟在傳輸?shù)綔y試或生產(chǎn)系統(tǒng)后還需要執(zhí)行)

點(diǎn)擊WEB服務(wù)配置,輸入之前定義的WEB服務(wù)名稱,點(diǎn)擊搜索

點(diǎn)擊內(nèi)部名稱,進(jìn)入服務(wù)定義.

點(diǎn)擊創(chuàng)建服務(wù),進(jìn)入向?qū)?/p>

設(shè)置安全信息


點(diǎn)擊完成后,會看到定義服務(wù)和綁定的內(nèi)容

04
測試WEB服務(wù)
點(diǎn)擊上圖的紅框圖標(biāo), 可以看到服務(wù)的wsdl定義

復(fù)制WSDL地址,用第三方工具測試一下(比如SOAPUI),測試時(shí),需要輸入基本驗(yàn)證信息(用戶名,密碼)

后記
RFC函數(shù)發(fā)布WEB服務(wù)比較簡單.一般發(fā)布的是一個(gè)同步WEB服務(wù).發(fā)布的服務(wù)可以通過 事物代碼 : SRT_ELOG 查看調(diào)用的底層報(bào)錯(cuò)信息: 比如日期格式錯(cuò)誤,數(shù)字格式錯(cuò)誤等. 業(yè)務(wù)報(bào)錯(cuò)則需要開發(fā)通過程序邏輯返回.
TIPS
SPRING
調(diào)用方輸入日期的格式必須是YYYY-MM-DD 否則可能會報(bào)錯(cuò).
某些版本可能會默認(rèn)英文登錄,可以在服務(wù)地址上添加參數(shù)?sap-language=ZH 來強(qiáng)制登錄語言
THE
END