1. 程式人生 > 實用技巧 >SAP釋出WebService和JAVA互聯

SAP釋出WebService和JAVA互聯

https://www.jianshu.com/p/63956df1775b

原理:SAP通過釋出WEBService,java程式碼去呼叫,從而控制sap的操作。這一方案可以將sap的業務拿到web或者Android中去。

首先SAP釋出Webservice

http://jingyan.baidu.com/article/8275fc867c9e2946a13cf66c.html
這個教程很完整,第一次測試時可以完全按照步驟來操作。

這時我們可以看到sap webservice的wsdl文件。

注意,我們使用SOAMANAGER開啟遊覽器是無法訪問連結的,原因,域名解析不出來,
把生產的域名和ip地址繫結就ok,修改host檔案。繼續》》》

wsimport 生成java程式碼

由於java連線webservice程式碼很多,使用java自帶的編譯器可以很簡單幫你生成該wsdl文件下的java框架。
原理很簡單,wsdl包括了介面文件資訊,只要把wsdl的檔案給wsimport就可以生成java檔案
http://blog.csdn.net/tianma630/article/details/8231224

但是。。。。我們執行後在終端報錯了

[ERROR] 未找到授權檔案 "/Users/developer/Desktop/auth2"。如果 WSDL 訪問需要基本驗證, 請在/Users/developer/.metro/auth中提供具有讀取訪問許可權的授權檔案, 或者使用 -Xauthfile 指定授權檔案並在每一行上使用以下格式提供授權資訊: http[s]://user:password@host:port//<url-path>

是因為我們訪問sap的時候需要輸入賬號密碼等許可權。

好先帖教程
http://blog.csdn.net/dongjunwen/article/details/54890415

再貼程式碼

wsimport -keep -d /Users/developer/Desktop -s /Users/developer/Desktop -p com.map -verbose -Xauthfile  /Users/developer/Desktop/test.txt  http://ip:port/sap/bc/srt/wsdl/flv_10002A101AD1/bndg_url/sap/bc/srt/rfc/sap/zcs_ws001/200/zcs_ws001/zcs_ws001?sap-client=200

意思就是我要建立一個txt檔案,按照http[s]://user:password@host:port//<url-path>的規則寫入進去。然後通過命令列

wsimport -keep -d /Users/developer/Desktop -s /Users/developer/Desktop -p com.map -verbose -Xauthfile  /Users/developer/Desktop/test.txt  http://ip:port/sap/bc/srt/wsdl/flv_10002A101AD1/bndg_url/sap/bc/srt/rfc/sap/zcs_ws001/200/zcs_ws001/zcs_ws001?sap-client=200

我們把"-Xauthfile+檔案路徑"插入進去作文傳送請求的標籤一起傳送,這個時候會把賬號密碼和地址一起傳送請求來獲得sap webservice的wsdl檔案。

第二種就是使用idea自帶的工具來生成程式碼
https://my.oschina.net/nba/blog/482117
好了,可以看到沒有輸入賬號密碼的地方,我們可以將wsdl下載下來儲存為文件,然後通過idea匯入生成,效果其實是一樣的。

Main函式

兩句程式碼搞定

ZCSWS001_Service mywebService = new ZCSWS001_Service();
System.out.println(mywebService.getZCSWS001().zceshi001(1,2));

好了 ,大工搞成,