之前有提到過公司有個老產品寫的 SOAP Server 是大佬十年前自己參照 SOAP 協議用 完全用 C 寫的。我手里的活需要用到這個SOAP Server。一開始用 Eclipse 自帶的插件直接自動生成客戶端代碼。后面發現有些方法調用沒有問題,有些方法傳進去的數據並不能正確處理, 畢竟是大佬根據協議純靠C寫的,源代碼我也看過一點,都是很基本的字符串解析, 要把這么細的代碼組織起來真的很難,難免有些遺漏的情況。並且我debug的看Server返回response是很快的,但是java這邊處理response 花了很多時間。后來我自己手寫了一個 SOAPUtil 用反射和注解去構建一個RequestBody也就是 SOAPMessage。
因為我也不知道大佬寫的 SOAP Server 究竟解析什么樣的數據格式。所以我就用 TCP/IP Monitor 截獲原有的 UI 請求 SOAP Server 的所有數據, 然后根據這個數據格式去定義每個 POJO 的注解, 把它每個字段對應什么name,prefix, namespace 通過注解的形式寫好。這個方法也是借鑒 jackson 的,雖然json會簡單一點, 沒有prefix namespace什么的。也不說太多,直接介紹說 TCP/IP Monitor 的使用。SOAP以后想到了再提。
首先在 Eclipse -> Windows -> Show View -> Other...點開
搜索TCP就能看到了, 選中 Open
然后就能看到一個這個
在Monitor的空白處右鍵菜單欄選中propertis