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地址