外系統對接用友U8


用友U8提供的數據集成方式有:1、EAI模式;2、OpenAPI模式;

1、EAI模式

  它是U8早期版本就提供的一種企業數據集成模式,它比較適合用於內網系統與U8之間的數據集成,比如:WMS系統、MES系統等。

  具體的實現方式有兩種:

    1、通過調用COM組件的方式實現與U8系統的通信;

    2、通過HTTP的方式,U8提供了一個用於交互的HTTP地址,可以IIS里查看。因為我們系統就是Java語言編寫的,不便於通過JNI來調用COM組件,所以,采用了HTTP的方式,

這種方式其實很簡單,就是向U8提供的服務地址發送HTTP POST請求,具體請求參數需要參考“企業系統集成”中的模板格式。樣例代碼如下:

 1 public static void main(String[] args) throws Exception {
 2         String requestXml="";
 3         requestXml+="<ufinterface sender=\"001\" receiver=\"u8\" roottag=\"purchaseorder\"  proc=\"query\" codeexchanged=\"n\" paginate=\"0\">";
 4         requestXml+="    <purchaseorder> ";
 5         requestXml+="   <field name=\"cpoid\" operation=\">\" value=\"0000000003\" />";
 6         requestXml+="    </purchaseorder> ";
 7         requestXml+="</ufinterface>";
 8 
 9         URL url = new URL("http://192.168.1.106/u8eai/import.asp");//服務地址
10         HttpURLConnection con = (HttpURLConnection) url.openConnection();
11         con.setConnectTimeout(3000000);
12         con.setReadTimeout(3000000);
13         con.setDoInput(true);
14         con.setDoOutput(true);
15         con.setAllowUserInteraction(false);
16         con.setUseCaches(false);
17         con.setRequestMethod("POST");
18         con.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
19         // 發送Request消息
20         OutputStream out = con.getOutputStream();
21         DataOutputStream dos = new DataOutputStream(out);
22         dos.write(requestXml.getBytes("UTF-8"));
23         
24         // 獲取Response消息
25         InputStream in = con.getInputStream();
26         BufferedReader br = new BufferedReader(new InputStreamReader(in));
27         StringBuilder sb = new StringBuilder();
28         String s = null;
29         while ((s = br.readLine()) != null) {
30             sb.append(s);
31         }
32         String responseXml = sb.toString();
33         System.out.println(responseXml);
34     }

 

2、OpenAPI模式

  這種模式是相對於EAI比較新的一種集成方式,它比較適合用於外網,比如:你的系統部署在和U8不同的網絡,而你想訪問內網U8系統的數據,那么就需要用這種方式。我理解的原理是:

  1、U8同網內要安裝UP客戶端,其實這個客戶端就是為了提供供用友OpenApi平台訪問的服務;

  2、客戶端需要在OpenAPI平台申請對應的賬戶信息,就可以訪問指定內網U8的數據了,提供的接口有很多,涉及方方面面;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM