之前有提到过公司有个老产品写的 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