1. 程式人生 > 其它 >SAP呼叫外部webservice介面

SAP呼叫外部webservice介面

SAP 呼叫外部webservice介面

SE80企業服務建立代理類【SERVICE CONSUMER】

地址無效時,注意地址是否為WSDL型別,且地址以 ?WSDL皆為

完成建立

SOAMANGER 建立埠號

輸入代理類名稱

建立 --- 手動建立

呼叫方法:程式碼

DATA:
LO_CLIENTPROXYTYPEREFTOZQMCO_SAP_QMS_SENT_SAMP_QUALIT, " 代理類
LO_SYS_EXCEPTIONTYPEREFTOCX_AI_SYSTEM_FAULT,
LO_APP_EXCEPTIONTYPEREFTOCX_AI_APPLICATION_FAULT.

DATA: " 代理類引數定義
LS_INPUTTYPEZQMSAP_QMS_SENT_SAMP_QUALITY_4,
LS_OUTPUTTYPEZQMSAP_QMS_SENT_SAMP_QUALITY_S.

TRY. "建立埠連線
CREATEOBJECTLO_CLIENTPROXY
EXPORTING
LOGICAL_PORT_NAME='ZQM0010'.
CATCHCX_AI_SYSTEM_FAULT.
MESSAGE'介面代理建立失敗!'TYPE'E'.
RETURN.
ENDTRY.

"引數整理

LS_INPUT-REQUESTHEAD-SERVICENAME='S_SAP_QMS_002S'.
LS_INPUT-REQUESTHEAD-SOURCESYSTEM='SAP'.


TRY. "呼叫方法

CALLMETHODLO_CLIENTPROXY->SAP_QMS_SENT_SAMP_QUALITY
EXPORTING
INPUT=LS_INPUT
IMPORTING
OUTPUT=LS_OUTPUT.
CATCHCX_AI_SYSTEM_FAULTINTOLO_SYS_EXCEPTION."捕獲錯誤
MESSAGE'介面呼叫失敗'TYPE'S'DISPLAYLIKE'E'.
ENDTRY.

測試問題一:
第一步時,遇到問題HTTP 404問題,但是連結直接可以瀏覽器開啟

解決方案:
1. 將網址連結(JAVA釋出的web service通常以?wsdl結尾),另存到本地,儲存為
xml檔案
2. 修改xml檔案,刪除下面內容,刪除後儲存
<wsdl:binding ……> …… </wsdl:binding>
<wsdl:port …….> …….</wsdl:port>
3. SE80建立web service proxy時,就Select source,選擇Local file,其他都一

測試問題二:
連線總是不同,一直有cx_ai_system_fault異常
解決方案:
將邏輯埠中的域名改為ip地址