1. 程式人生 > >(一)解析第三方介面封裝為物件

(一)解析第三方介面封裝為物件

     最近做了一個還算可以上手的外包專案,就是解析第三方介面的資料然後展示在頁面中,整個專案做下來還是有很多收穫的,學到的有很多,包括xml的解析,echarts曲線的應用,video標籤的應用及新增定時任務器定時重新整理資料庫等,耗時將近兩個月,在這裡先做一個簡單的整理,後續還會繼續完善。
     1、得到第三方給的開放介面說明文件。
           1)、介面地址:
              http://對方ip:8080/my/service/TestService?wsdl
           2)、介面安全:
            出於安全的考慮:接收到的介面訊息都會檢驗使用者名稱和密碼,故介面都需要帶Head。
           3)、介面方法:
            介面方法中都會給出引數和返回值。如:
          sendMsg:
                      引數:account String 使用者登入名
                          返回值:unitId  單元UUID                   
                                         unitName 單元名稱

              WSDL是Web Services Description Language的縮寫,是一個用來描述Web服務和說明如何與Web服務通訊的XML 語言。它的工具是wsdl2java,這時就需要用wsdl2java生成客戶端程式碼。
              生成客戶端常用的大概就是三種方式:CXF、axis2、axis,Axis2 是Axis的後續版本,是新一代的SOAP引擎。使用axis提供的工具類org.apache.axis.wsdl.WSDL2Java先生成客戶端stub,然後像使用本地方法一樣呼叫遠端介面。這裡我用到的是CXF,生成一大堆java檔案,具體我也沒怎麼看明白都是什麼 ,後來領導讓我用axis2來生成,再後來也還是沒有用到,直接問第三方人員要了兩個檔案進行wsdl介面實現,拉出了第三方的xml資料。

 CXF生成客戶端的過程:
引用
1、下載apache-cxf-3.1.7工具
2、環境配置path及CXF-HOME路徑。
3、cmd中輸入wsdl2java驗證是否配置成功。
4、輸入命令wsdl -d +(生成程式碼所在目錄) -client +(路徑)

附錄:
-d:指定生成的客戶端生成  目錄
-p:指定生成的客戶端包名
-client:指定生成客戶端呼叫類, 即包含main方法呼叫客戶端方法的類
-t:為程式碼生成測試用例
-g:生成服務端和客戶端程式碼
-ssi:為服務端實現程式碼生成介面類
2、wsdl生成xml文件
1>將URL及賬戶資訊封裝到properties檔案。利用ResourceBundle呼叫。 Java code
?
1 2 3 4 5 config.properties: uri=http://對方ip:8080/my/service/TestService?wsdl otherAccount=me otherPassword=123456
2> Java code ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

相關推薦

解析第三方介面封裝物件

     最近做了一個還算可以上手的外包專案,就是解析第三方介面的資料然後展示在頁面中,整個專案做下來還是有很多收穫的,學到的有很多,包括xml的解析,echarts曲線的應用,video標籤的應用及新增定時任務器定時重新整理資料庫等,耗時將近兩個月,在這裡先做一個簡單的

java執行緒深度解析——java new 介面?匿名內部類給你答案

一、內部類 1、內部類初識 一般,一個類裡主要包含類的方法和屬性,但在java中還提出在類中繼續定義類(內部類)的概念。 內部類的定義:類的內部定義類 先來看一個例項 public class Ou

一個iOS專案總結:網路介面封裝

寫在前面 今年暑假,自己獨立完成了一個簡單的iOS的APP,是一個bbs的客戶端,叫做喻信星空。現在正在測試,準備將其上架app store。但是光做專案不做總結肯定不行,所以這裡寫篇部落格,把專案裡遇到的坑都記錄下來,不過這篇部落格裡肯定是有乾貨的,所以

算法冒泡排序與封裝接構

冒泡排序冒泡排序冒泡排序是相近的兩個數字兩兩比較,然後按照從小到大或者從大到小的順序排列比如有兩個數字A,B, A = 3 , B = 2,A 比 B 大,則A 和 B 位置發生交換,順序變成了 B,A,詳細過程看輸出結果就很清晰了。升序排序的代碼如下:lst1 = [[1, 9, 8, 5, 6, 7, 4

Android系統啟動流程解析init進程啟動過程

option 寫入 android change failed miss 通知 target sna 前言 作為“Android框架層”這個大系列中的第一個系列,我們首先要了解的是Android系統啟動流程,在這個流程中會涉及到很多重要的知識點,這個系列我們就來一一講解它們

.NetCore實踐爬蟲系統解析網頁內容

爬蟲系統的意義 爬蟲的意義在於採集大批量資料,然後基於此進行加工/分析,做更有意義的事情。谷歌,百度,今日頭條,天眼查都離不開爬蟲。 今日目標 今天我們來實踐一個最簡單的爬蟲系統。根據Url來識別網頁內容。 網頁內容識別利器:HtmlAgilityPack

測試併發應用 監控Lock介面

宣告:本文是《 Java 7 Concurrency Cookbook 》的第八章, 作者: Javier Fernández González 譯者:鄭玉婷   校對:方騰飛 監控Lock介面 Lock 介面是Java 併發 API提供的最基本的機制來同步程式碼塊。它允許定義臨界區。臨界區是

Android系統啟動流程解析init程序啟動過程

前言 作為“Android框架層”這個大系列中的第一個系列,我們首先要了解的是Android系統啟動流程,在這個流程中會涉及到很多重要的知識點,這個系列我們就來一一講解它們,這一篇我們就來學習init程序。 1.init簡介 init程序是An

微信小程式實戰---實現登入介面

昨天小程式第一天公測,就下載個小程式自帶IDE玩了玩,看了看API,擼出了個登入介面給大家分享下。 下面是主介面和程式碼。 index.wxml <view class="container"> <view class="usermotto">

POI 操作EXCEL解析EXCEL 自動識別xls和xlsx

這裡引用的jar包,一些jar是內部引用文科,有個是業務需求加入的的,引入的時候你們可以選擇性引入jar,在此不做剔除,我會在程式碼中附上引用。 對於大資料量的話excel來進行上傳操作視乎不如cvs效率高 初步測試excel八列簡單資料,在虛擬機器1.5G記憶體分配的情況

企業微信JS-SDK開發------通過config介面注入許可權驗證配置

企業微信JS-SDK是企業微信面向網頁開發者提供的基於企業微信內的網頁開發工具包。通過js-sdk可以在企業微信內實現眾多功能,如調出通訊錄、調出攝像頭、隱藏部分按鈕等。使用js-sdk分為三步:1.開發頁面引入JS檔案html頁面加入<script src="//re

Rxjava2+Retrofit完美封裝

* 本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家釋出 要說2016年最火的Android技術是什麼,毫無疑問肯定是RxJava+Retrofit+Mvp。現如今2017年也已經過了快一半了。相信做android開發的小夥伴對RxJava和Re

Android 端天氣預報APP的實現天氣顯示介面之上下滑動

最近參加了一個小比賽,選了天氣預報APP這個題目,最初選擇它,是想練練網路資料獲取和資料解析方面的知識,後來發現倒是學到了不少介面的東西。下面我來一步步講解一下我是怎麼完成的吧~ 首先,天氣預報最直觀的部分應該就是天氣顯示介面了,這裡,我想做成可以有上下滑動的

IDEA熱部署---解析關鍵配置。

本編部落格轉載自:因為自己在研究熱部署,包括熱部署那些檔案,部署實現的包括那些操作。這一塊,所以這篇好部落格。 一、war和exploed區別 On Upate Action 與 On Frame Deactivation  這兩個選項的設定,依賴於 專案的部署方式 是w

myBatis 常見問題查詢結果欄位null

問題描述:查詢認購單詳情<select id="adminGetDatail" resultMap="SubscriptionPO" parameterType="com.money56.ifmp.api.module.bm.vo.ProductSubscription

postman批量執行介面測試用例

postman是一個谷歌出的輕量級的專門測試介面的小工具~(PS:postman包括兩種:Chrome瀏覽器外掛和postman客戶端,我使用的是postman客戶端)雖然不如firefox的poster外掛“輕量”,但是比firefox的poster外掛、fiddler的

Scala詞法文法解析器 解析SparkSQL的BNF文法

ram ams title blog art ron 通過 都是 res 平臺公式及翻譯後的SparkSQL 平臺公式的樣子如下所示: if (XX1_m001[D003]="邢おb7骯α?薇" || XX1_m001[H003]<"2") &

Java集合原始碼分析之Queue:超級介面Queue_一點課堂多岸學院

在日常生活中,排隊幾乎隨處可見,上地鐵要排隊,買火車票要排隊,就連出門吃個大餐,也要排隊。。。之前研究的ArrayList就像是一

Java提高篇:區分引用變數與物件

我們有程式碼: New A=new New(); 下面是這個New的類: class New { public New() { System.out.println

React-router8Link 標籤 to 屬性物件路由資訊傳值

8、Link 標籤 to 屬性為物件時(路由資訊傳值) 參考 6.routeInfo.js 在元件裡,每個元件的路由資料,都是各自獨立的。 在之前分析中,已知: match 屬性的值,儲存的是該 Route 標籤的路由; location